Dialog Box Default Message Processing
The window procedure for the predefined dialog box class carries out default processing for all messages that the dialog box procedure does not process. When the dialog box procedure returns FALSE for any message, the predefined window procedure checks the messages and carries out the following default actions:
Message | Default action |
DM_GETDEFID | You can send this message to a dialog box. The dialog box returns the control identifier of the default push button, if the dialog box has one; otherwise, it returns zero. |
DM_REPOSITION | You can send this message to a top-level dialog box. The dialog box repositions itself so it fits within the desktop area. |
DM_SETDEFID | You can send this message to a dialog box. The dialog box sets the default push button to the control specified by the control identifier in the wParam parameter. |
WM_ACTIVATE | Restores the input focus to the control identified by the previously saved handle if the dialog box is activated. Otherwise, the procedure saves the handle of the control having the input focus. |
WM_CHARTOITEM | Returns zero. |
WM_CLOSE | Posts the BN_CLICKED notification message to the dialog box, specifying IDCANCEL as the control identifier. If the dialog box has an IDCANCEL control identifier and the control is currently disabled, the procedure sounds a warning and does not post the message. |
WM_COMPAREITEM | Returns zero. |
WM_ERASEBKGND | Fills the dialog box client area by using either the brush returned from the WM_CTLCOLORDLG message or with the default window color. |
WM_GETFONT | Returns the handle of the application-defined dialog box font. |
WM_INITDIALOG | Returns zero. |
WM_LBUTTONDOWN | Sends a CB_SHOWDROPDOWN message to the combo box having the input focus, directing the control to hide its drop-down list box. The procedure calls DefWindowProc to complete the default action. |
WM_NCDESTROY | Releases global memory allocated for edit controls in the dialog box (applies to dialog boxes in Windows-based applications that specify the DS_LOCALEDIT style) and frees any application-defined font (applies to dialog boxes that specify the DS_SETFONT style). The procedure calls the DefWindowProc function to complete the default action. |
WM_NCLBUTTONDOWN | Sends a CB_SHOWDROPDOWN message to the combo box having the input focus, directing the control to hide its drop-down list box. The procedure calls DefWindowProc to complete the default action. |
WM_NEXTDLGCTL | Sets the input focus to the next or previous control in the dialog box, to the control identified by the handle in the wParam parameter, or to the first control in the dialog box that is visible, not disabled, and has the WS_TABSTOP style. The procedure ignores this message if the current window with the input focus is not a control. |
WM_SETFOCUS | Sets the input focus to the control identified by a previously saved control window handle. If no such handle exists, the procedure sets the input focus to the first control in the dialog box template that is visible, not disabled, and has the WS_TABSTOP style. If no such control exists, the procedure sets the input focus to the first control in the template. |
WM_SHOWWINDOW | Saves the handle of the control having the input focus if the dialog box is being hidden, then calls DefWindowProc to complete the default action. |
WM_SYSCOMMAND | Saves the handle of the control having the input focus if the dialog box is being minimized, then calls DefWindowProc to complete the default action. |
WM_VKEYTOITEM | Returns zero. |
The predefined window procedure passes all other messages to DefWindowProc for default processing.