WM_GETDLGCODE消息

发送到与控件关联的窗口过程。 默认情况下,系统将处理控件的所有键盘输入;系统将某些类型的键盘输入解释为对话框导航键。 若要替代此默认行为,控件可以响应 WM_GETDLGCODE 消息,以指示要处理其本身的输入类型。

#define WM_GETDLGCODE                   0x0087

参数

wParam

由用户按下的虚拟键,提示Windows发出此通知。 处理程序必须有选择地处理这些键。 例如,处理程序可能会接受和处理 VK_RETURN, 但将 VK_TAB 委托给所有者窗口。 有关值列表,请参阅 虚拟密钥代码

lParam

如果系统执行查询) ,则指向 MSG 结构的指针 (或 NULL

返回值

返回值为以下一个或多个值,指示应用程序处理的输入类型。

返回代码/值 描述
DLGC_BUTTON
0x2000
按钮。
DLGC_DEFPUSHBUTTON
0x0010
默认推送按钮。
DLGC_HASSETSEL
0x0008
EM_SETSEL 消息。
DLGC_RADIOBUTTON
0x0040
单选按钮。
DLGC_STATIC
0x0100
静态控件。
DLGC_UNDEFPUSHBUTTON
0x0020
非默认推送按钮。
DLGC_WANTALLKEYS
0x0004
所有键盘输入。
DLGC_WANTARROWS
0x0001
方向键。
DLGC_WANTCHARS
0x0080
WM_CHAR 消息。
DLGC_WANTMESSAGE
0x0004
应用程序将所有键盘输入 (将 MSG 结构中的此消息传递给控件) 。
DLGC_WANTTAB
0x0002
TAB 键。

注解

尽管 DefWindowProc 函数始终返回零以响应 WM_GETDLGCODE 消息,但预定义控件类的窗口过程返回适合每个类的代码。

WM_GETDLGCODE消息和返回的值仅适用于用户定义对话框控件或子类修改的标准控件。

要求

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

另请参阅

引用

DefWindowProc

EM_SETSEL

味精

WM_CHAR

概念性

对话框