DefFrameProcA 函式 (winuser.h)
提供多文檔介面 (MDI) 框架視窗未處理之視窗程式之任何視窗訊息的預設處理。 視窗程式未明確處理的所有視窗訊息,都必須傳遞至 DefFrameProc 函式,而不是 DefWindowProc 函式。
語法
LRESULT DefFrameProcA(
[in] HWND hWnd,
[in] HWND hWndMDIClient,
[in] UINT uMsg,
[in] WPARAM wParam,
[in] LPARAM lParam
);
參數
[in] hWnd
類型:HWND
MDI 框架視窗的句柄。
[in] hWndMDIClient
類型:HWND
MDI 用戶端視窗的句柄。
[in] uMsg
類型:UINT
要處理的訊息。
[in] wParam
類型:WPARAM
其他訊息特定資訊。
[in] lParam
類型:LPARAM
其他訊息特定資訊。
傳回值
類型:LRESULT
傳回值會指定訊息處理的結果,並視訊息而定。 如果 hWndMDIClient 參數 NULL,則傳回值會與 DefWindowProc 函式相同。
言論
當應用程式的視窗程式未處理訊息時,通常會將訊息傳遞至 DefWindowProc 函式來處理訊息。 MDI 應用程式會使用 DefFrameProc 和 DefMDIChildProc 函式,而不是 DefWindowProc 來提供預設訊息處理。 應用程式通常會傳遞至 DefWindowProc(例如非用戶端訊息和 WM_SETTEXT 訊息)的所有訊息都應該改為傳遞至 DefFrameProc。 DefFrameProc 函式也會處理下列訊息。
消息 | 回應 |
---|---|
WM_COMMAND | 啟動用戶選擇的 MDI 子視窗。 當使用者從 MDI 框架視窗的視窗選單選擇 MDI 子視窗時,就會傳送此訊息。 此訊息隨附的視窗標識碼會識別要啟動的 MDI 子視窗。 |
WM_MENUCHAR | 當使用者按下 ALT+ – (減號) 按鍵組合時,開啟使用中 MDI 子視窗的視窗選單。 |
WM_SETFOCUS | 將鍵盤焦點傳遞至 MDI 用戶端視窗,接著會將它傳遞給作用中的 MDI 子視窗。 |
WM_SIZE | 調整 MDI 用戶端視窗的大小,以符合新框架視窗的工作區。 如果框架視窗程式將 MDI 用戶端視窗的大小調整為不同的大小,則不應該將訊息傳遞至 DefWindowProc 函式。 |
注意
winuser.h 標頭會將 DefFrameProc 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
支援的最低伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平臺 | 窗戶 |
標頭 | winuser.h (包括 Windows.h) |
連結庫 | User32.lib |
DLL | User32.dll |
另請參閱
概念
參考