WM_VKEYTOITEM消息
由具有 LBS_WANTKEYBOARDINPUT 样式的列表框发送到其所有者以响应 WM_KEYDOWN 消息。
WM_VKEYTOITEM
WPARAM wParam;
LPARAM lParam;
参数
返回值
返回值指定应用程序在响应消息时执行的操作。 返回值 -2 表示应用程序处理了选择项目的所有方面,并且列表框无需进一步操作。 (请参阅 Remarks.) 返回值 -1 表示列表框应执行默认操作以响应击键。 返回值 0 或更高版本指定列表框中项的索引,并指示列表框应对指定项执行默认操作。
注解
返回值 -2 仅对列表框控件未转换为字符的键有效。 如果 WM_KEYDOWN 消息转换为 WM_CHAR 消息,并且应用程序处理因按下键而生成的 WM_VKEYTOITEM 消息,则列表框将忽略返回值,并针对该字符执行默认处理) 。 WM_KEYDOWN 键(如VK_UP、VK_DOWN、VK_NEXT和VK_PREVIOUS)生成的消息不会转换为 WM_CHAR 消息。 在这种情况下,捕获 WM_VKEYTOITEM 消息并返回 -2 可防止列表框执行该键的默认处理。
若要捕获生成字符消息并执行特殊处理的键,应用程序必须对列表框进行子类化,捕获 WM_KEYDOWN 和 WM_CHAR 消息,并在子类过程中适当处理消息。
上述备注适用于使用 LBS_WANTKEYBOARDINPUT 样式创建的常规列表框。 如果列表框是所有者绘制的,则应用程序必须处理 WM_CHARTOITEM 消息。
DefWindowProc 函数返回 -1。
如果对话框过程处理此消息,它应将所需的返回值强制转换为 BOOL ,并直接返回该值。 忽略 SetWindowLong 函数设置的DWL_MSGRESULT值。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
标头 |
|
另请参阅
-
引用
-
其他资源