DLGPROC 回呼函式 (winuser.h)
應用程式定義的回呼函式與 CreateDialog 和 DialogBox 系列函式搭配使用。 它會處理傳送至強制回應或無模式對話框的訊息。 DLGPROC 類型會定義這個回呼函式的指標。 DialogProc 是應用程式定義函數名稱的佔位元。
語法
DLGPROC Dlgproc;
INT_PTR Dlgproc(
HWND unnamedParam1,
UINT unnamedParam2,
WPARAM unnamedParam3,
LPARAM unnamedParam4
)
{...}
參數
unnamedParam1
類型: HWND
對話方塊的控制代碼。
unnamedParam2
類型: UINT
訊息。
unnamedParam3
類型: WPARAM
其他特定訊息資訊。
unnamedParam4
類型: LPARAM
其他特定訊息資訊。
類型: INT_PTR
一般而言,如果對話框程式處理訊息,則應該傳回 TRUE ,如果未處理,則傳回 FALSE 。 如果對話框程式傳回 FALSE,對話框管理員會執行預設對話框作業以回應訊息。
如果對話框程式處理需要特定傳回值的訊息,對話框程式應該呼叫 SetWindowLong (hwndDlg,DWL_MSGRESULT,lResult) 立即傳回 TRUE 來設定所需的傳回值。 請注意,您必須在傳回 TRUE 之前立即呼叫 SetWindowLong;稍早這樣做可能會導致巢狀對話框訊息覆寫DWL_MSGRESULT值。
下列訊息是上述一般規則的例外狀況。 如需傳回值語意的詳細數據,請參閱檔以取得特定訊息。
- WM_CHARTOITEM
- WM_COMPAREITEM
- WM_CTLCOLORBTN
- WM_CTLCOLORDLG
- WM_CTLCOLOREDIT
- WM_CTLCOLORLISTBOX
- WM_CTLCOLORSCROLLBAR
- WM_CTLCOLORSTATIC
- WM_INITDIALOG
- WM_QUERYDRAGICON
- WM_VKEYTOITEM
傳回值
無
備註
只有當您使用對話框的對話框類別時,才應該使用對話框程式。 這是預設類別,而且會在對話框範本中未指定任何明確類別時使用。 雖然對話框程式類似於視窗程式,但不得呼叫 DefWindowProc 函式來處理不必要的訊息。 對話框視窗程式會在內部處理垃圾訊息。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包括 Windows.h) |
另請參閱
概念
參考