小甲鱼 发表于 2016-3-26 01:40:39

WM_MENUCHAR 消息

注:本文档由 n0noper 翻译,小甲鱼校对。

原文链接 -> 传送门

消息含义:

当一个菜单有效,并且用户按下的键没有任何对应的记忆键或快捷键时,将会发送该消息。

该消息被发送给菜单所在的窗口。


消息定义:

#define WM_MENUCHAR                     0x0120

参数解析:

wParam:低字位指定对应用户输入按键的字符码;高字位指定活动菜单的类型。这个参数是以下值之中的一个:


值 含义
MF_POPUP
(0x00000010L) 一个下拉菜单、子菜单或快捷菜单
MF_SYSMENU
(0x00002000L) 菜单所在的窗口

lParam:该参数指向活动菜单的句柄。


返回值:

应用程序响应这个消息会返回高字为下列值之一的返回值:


返回码/值 描述
MNC_CLOSE(1) 通知系统关闭活动的菜单
MNC_EXECUTE(2)1. 通知系统选择返回值的低字位指定的菜单项
2. 菜单项所属的窗口收到一个 WM_COMMAND 消息
MNC_IGNORE(0) 通知系统丢弃用户按下键的字符并通过扬声器发出一个短暂的哔哔声
MNC_SELECT(3) 通知系统选择返回值的低字位指定菜单项


备注:

1. 如果高字包含 0 或 1,低字将被忽略。

2. 当快捷键用来选中一个显示位图的菜单项时,应用程序需要处理这个消息。


需求:


Minimum supported client Windows 2000 专业版 [仅桌面应用程序]
Minimum supported server Windows 2000 服务器版 [仅桌面应用程序]
Header Winuser.h (包含于 Windows.h)


【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。
页: [1]
查看完整版本: WM_MENUCHAR 消息