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,则对话管理器将执行默认对话操作以响应消息。

如果对话框过程处理需要特定返回值的消息,则对话框过程应通过在返回 TRUE 之前立即调用 SetWindowLong (hwndDlgDWL_MSGRESULTlResult) 来设置所需的返回值。 请注意,在返回 TRUE 之前,必须立即调用 SetWindowLong;这样做之前可能会导致DWL_MSGRESULT值被嵌套对话框消息覆盖。

以下消息是上述一般规则的例外情况。 有关返回值语义的详细信息,请参阅特定消息的文档。

返回值

备注

仅当对对话框使用对话框类时,才应使用对话框过程。 这是默认类,在对话框模板中未指定显式类时使用。 尽管对话框过程类似于窗口过程,但它不得调用 DefWindowProc 函数来处理不需要的消息。 不需要的消息由对话框窗口过程在内部处理。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)

请参阅

概念性

CreateDialog

CreateDialogIndirect

CreateDialogIndirectParam

CreateDialogParam

DefWindowProc

对话框

DialogBox

DialogBoxIndirect

DialogBoxIndirectParam

DialogBoxParam

引用

SetFocus

WM_INITDIALOG