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,则对话管理器将执行默认对话操作以响应消息。
如果对话框过程处理需要特定返回值的消息,则对话框过程应通过在返回 TRUE 之前立即调用 SetWindowLong (hwndDlg、DWL_MSGRESULT、lResult) 来设置所需的返回值。 请注意,在返回 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 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | winuser.h (包括 Windows.h) |
请参阅
概念性
引用