函数功能:该函数对任何多文档接口(MDI)框架窗日的窗口过程不处理的窗口消息提供缺省处理。窗口过程不能明确处理的所有窗口消息必须通过DefFrameProc函数处理,而不是通过DefWindowProc函数。

    函数原型:LRESULT DefFrameProc(HWND hWnd,HWND hWnd,HWND hWndMDIClient,UINT uMsg,WPARAM wParam,LPARAM IParam);

    参数:

    hWnd:MDI框架窗口句柄。

    hWndMDIClient:MDI客户窗口句柄。

    uMsg:指定要处理的消息。

    wParam:指定附加的特定消息信息。

    IParam:指定附加的特定消息信息。

    返回值:返回值指定,消息处理的结果其值与处理的消息有关。如果hWndMDIClient参数为NULL,返回值与DefWindowProc函数的相同。

    备注:当应用程序的窗口过程不能处理一个消息时,它把消息传递给DefWindowProc函数来处理。MDI应用程序使用DefFrameProc和DefMDIChildProc函数代替DefWindowProc函数提供缺省消息处理。应用程序传递给DefMDIChildProc函数的所有消息(例如非客户消息和WM_SETTEXT消息)通常应被传递给DefFrameFro函数。DefFramePro函数也处理下列消息:

    WM_COMMAND:激活用户选择的MDI子窗口。当用户从MDI框架窗口的菜单中选择MDI子窗口时,此消息被发送伴随该消息的窗口标识符识别被激活的MDI子窗口。

    WM_MENUCHAR:当用户按下Alt+C(减)组合键时,打开活动MDI子窗口的窗口菜单。

    WM_SETFOCUS:传递键盘响应给MDI客户窗口,客户窗口又依次地把它传递给活动的MDI子窗口。

    WM_SIZE:重新设备新的框架窗口客户域的MDI客户窗口大小。如果框架窗口过程设置了不同大小的MDI客户窗口,消息将不传递给DefWindowProc函数。

    速查:Windows NT:3.1及以上版本;Windows:95及以上版本;Windows CE:不支持;头文件;winuser.h;输入库:user32。lib;Unicode:在Windows NT环境中以Unicode和ANSI方式实现。