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 (hwndDlgDWL_MSGRESULTlResult) 立即傳回 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