DefFrameProc  KMHJ07 

The DefFrameProc function provides default processing for any window messages that the window procedure of a multiple document interface (MDI) frame window does not process. All window messages that are not explicitly processed by the window procedure must be passed to the DefFrameProc function, not the DefWindowProc32D1NBH function.

LRESULT DefFrameProc(

    HWND hWnd,

// handle to MDI frame window 

    HWND hWndMDIClient,

// handle to MDI client window 

    UINT uMsg,

// message

    WPARAM wParam,

// first message parameter

    LPARAM lParam

// second message parameter

   );

 

 

Parameters

hWnd

Identifies the MDI frame window.

hWndMDIClient

Identifies the MDI client window.

uMsg

Specifies the message to be processed.

wParam

Specifies additional message-specific information.

lParam

Specifies additional message-specific information.

 

Return Values

The return value specifies the result of the message processing and depends on the message. If the hWndMDIClient parameter is NULL, the return value is the same as for the DefWindowProc function.

Remarks

When an application s window procedure does not handle a message, it typically passes the message to the DefWindowProc32D1NBH function to process the message. MDI applications use the DefFrameProc and DefMDIChildProc7S6L_0I 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_0KJSB message) should be passed to DefFrameProc instead. The DefFrameProc function also handles the following messages:

Message

Response

WM_COMMAND

Activates the MDI child window that the user chooses. This message is sent when the user chooses an MDI child window from the Window menu of the MDI frame window. The window identifier accompanying this message identifies the MDI child window to be activated.

WM_MENUCHAR

Opens the window menu of the active MDI child window when the user presses the ALT+ - (minus) key combination.

WM_SETFOCUS

Passes the keyboard focus to the MDI client window, which in turn passes it to the active MDI child window.

WM_SIZE

Resizes the MDI client window to fit in the new frame window s client area. If the frame window procedure sizes the MDI client window to a different size, it should not pass the message to the DefWindowProc function.

 

See Also

DefMDIChildProc, DefWindowProc, WM_SETTEXT