DefMDIChildProcW function (winuser.h)
Provides default processing for any window message that the window procedure of a multiple-document interface (MDI) child window does not process. A window message not processed by the window procedure must be passed to the DefMDIChildProc function, not to the DefWindowProc function.
Syntax
LRESULT LRESULT DefMDIChildProcW(
[in] HWND hWnd,
[in] UINT uMsg,
[in] WPARAM wParam,
[in] LPARAM lParam
);
Parameters
[in] hWnd
Type: HWND
A handle to the MDI child window.
[in] uMsg
Type: UINT
The message to be processed.
[in] wParam
Type: WPARAM
Additional message-specific information.
[in] lParam
Type: LPARAM
Additional message-specific information.
Return value
Type: LRESULT
The return value specifies the result of the message processing and depends on the message.
Remarks
The DefMDIChildProc function assumes that the parent window of the MDI child window identified by the hWnd parameter was created with the MDICLIENT class.
When an application's window procedure does not handle a message, it typically passes the message to the DefWindowProc function to process the message. MDI applications use the DefFrameProc and DefMDIChildProc functions instead of DefWindowProc to provide default message processing. All messages that an application would usually pass to DefWindowProc (such as nonclient messages and the WM_SETTEXT message) should be passed to DefMDIChildProc instead. In addition, DefMDIChildProc also handles the following messages.
Message | Response |
---|---|
WM_CHILDACTIVATE | Performs activation processing when MDI child windows are sized, moved, or displayed. This message must be passed. |
WM_GETMINMAXINFO | Calculates the size of a maximized MDI child window, based on the current size of the MDI client window. |
WM_MENUCHAR | Passes the message to the MDI frame window. |
WM_MOVE | Recalculates MDI client scroll bars if they are present. |
WM_SETFOCUS | Activates the child window if it is not the active MDI child window. |
WM_SIZE | Performs operations necessary for changing the size of a window, especially for maximizing or restoring an MDI child window. Failing to pass this message to the DefMDIChildProc function produces highly undesirable results. |
WM_SYSCOMMAND | Handles window menu commands: SC_NEXTWINDOW, SC_PREVWINDOW, SC_MOVE, SC_SIZE, and SC_MAXIMIZE. |
Note
The winuser.h header defines DefMDIChildProc as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | winuser.h (include Windows.h) |
Library | User32.lib |
DLL | User32.dll |
See also
Conceptual
Reference