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

概念性

对话框