函数功能:该函数对任何多文档接口(MDI)子窗口的窗口过程不能处理的窗口消息提供缺省处理。窗口过程不能处理的窗口消息必须传递给DefMDIChildProc函数,而不是DefWindowProc函数。

    函数原型:LRESULT DDMDIChildProc(HWND hwnd,UINT uMsg,WPARAM wParam,LPARAM IParam)

    参数:

    hWnd:MDI子窗口句柄。

    wParam:指定要处理的消息。

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

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

    返回值:返回值指定信息处理的结果和其值与处理的消息有关。

    备注:DefMDIChifdProc函数假定由hwnd参数所识别的MDI子窗口的父窗口是由MDICLIENT类生成的。

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

    WM_CHILDACTIVATE:当MDI子窗口被改变大小,移动或显示时执行激活过程。这个消息必须被传递。

    WM_GETMINMAXINFO:根据MDI客户窗口的当前大小,计算MDI子窗口极大化的尺寸。

    WM_MENUCHAR:传递消息给MDI框架窗口。

    WM_MOVE:重新计算MDI客户滚动条,如果存在的话。

    WM_SETFOCUS:如果子窗口不是活动的MDI子窗口,激活它。

    WM_SIZE;执行改变窗口大小所必须的操作,特别是MDI子窗口极大化或恢复一个MDI子窗口时。如果这个消息没有成功地传递给DefMDIChildProc函数,则很可能产生不是需要的结果。

    WM_SYSCOMMAND:处理窗口菜单命令:SC.NEXTWINDOW,SC_PREVWINDOW,SC_MOVE,SC_SIZE,和SC_MAXIMIZE。

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