DLGPROC 回呼函式 (winuser.h)

應用程式定義的回呼函式與 CreateDialogDialogBox 系列函式搭配使用。 它會處理傳送至強制回應或無模式對話框的訊息。 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值。

下列訊息是上述一般規則的例外狀況。 如需傳回值語意的詳細數據,請參閱檔以取得特定訊息。

傳回值

備註

只有當您使用對話框的對話框類別時,才應該使用對話框程式。 這是預設類別,而且會在對話框範本中未指定任何明確類別時使用。 雖然對話框程式類似於視窗程式,但不得呼叫 DefWindowProc 函式來處理不必要的訊息。 對話框視窗程式會在內部處理垃圾訊息。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 winuser.h (包括 Windows.h)

另請參閱

概念

CreateDialog

CreateDialogIndirect

CreateDialogIndirectParam

CreateDialogParam

DefWindowProc

對話框

DialogBox

DialogBoxIndirect

DialogBoxIndirectParam

DialogBoxParam

參考

SetFocus

WM_INITDIALOG