DefMDIChildProcA 函式 (winuser.h)
提供多文檔介面視窗程式 (MDI) 子視窗未處理之任何視窗訊息的默認處理。 視窗程式未處理的視窗訊息必須傳遞至 DefMDIChildProc 函式,而非 DefWindowProc 函 式。
語法
LRESULT LRESULT DefMDIChildProcA(
[in] HWND hWnd,
[in] UINT uMsg,
[in] WPARAM wParam,
[in] LPARAM lParam
);
參數
[in] hWnd
類型: HWND
MDI 子視窗的句柄。
[in] uMsg
類型: UINT
要處理的訊息。
[in] wParam
類型: WPARAM
其他特定訊息資訊。
[in] lParam
類型: LPARAM
其他特定訊息資訊。
傳回值
類型: LRESULT
傳回值會指定訊息處理的結果,並視訊息而定。
備註
DefMDIChildProc 函式假設已使用 MDICLIENT 類別建立由 hWnd 參數識別之 MDI 子視窗的父視窗。
當應用程式的視窗程式未處理訊息時,通常會將訊息傳遞至 DefWindowProc 函式來處理訊息。 MDI 應用程式會使用 DefFrameProc 和 DefMDIChildProc 函式,而不是 DefWindowProc 來提供預設的訊息處理。 應用程式通常會傳遞至 DefWindowProc (,例如非用戶端訊息和 WM_SETTEXT訊息) 應改為傳遞至 DefMDIChildProc 。 此外, DefMDIChildProc 也會處理下列訊息。
訊息 | 回應 |
---|---|
WM_CHILDACTIVATE | 當 MDI 子視窗的大小、移動或顯示時,執行啟用處理。 必須傳遞此訊息。 |
WM_GETMINMAXINFO | 根據 MDI 用戶端視窗的目前大小,計算最大化 MDI 子視窗的大小。 |
WM_MENUCHAR | 將訊息傳遞至 MDI 框架視窗。 |
WM_MOVE | 如果 MDI 用戶端滾動條存在,請重新計算它們。 |
WM_SETFOCUS | 如果子視窗不是使用中的 MDI 子視窗,則會啟動子視窗。 |
WM_SIZE | 執行變更視窗大小所需的作業,特別是用於最大化或還原 MDI 子視窗。 無法將此訊息傳遞至 DefMDIChildProc 函式會產生高度不想要的結果。 |
WM_SYSCOMMAND | 處理視窗選單命令:SC_NEXTWINDOW、SC_PREVWINDOW、SC_MOVE、SC_SIZE和SC_MAXIMIZE。 |
注意
winuser.h 標頭會將 DefMDIChildProc 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包含 Windows.h) |
程式庫 | User32.lib |
Dll | User32.dll |
另請參閱
概念
參考
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應