函式內容
函式功能:該函式對任何多文檔接口(MDI)子視窗的視窗過程不能處理的視窗訊息提供預設處理。視窗過程不能處理的視窗訊息必須傳遞給DefMDIChildProc函式,而不是DefWindowProc函式。
函式原型:LRESULT DefMDIChildProc(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方式實現。