WM_MENUSELECT

【勇芳软件工作室】汉化HomePreviousNext

当用户选择菜单项时,WM_MENUSELECT消息被发送到菜单的所有者窗口。

WM_MENUSELECT

uItem = (UINT) LOWORD(wParam); //菜单项或子菜单索引

fuFlags = (UINT) HIWORD(wParam); //菜单标志

hmenu = (HMENU) lParam; //点击菜单的句柄

参数

【藤】

【wParam中】的低位字的值。如果所选项是命令项,则该参数包含菜单项的标识符。如果所选项目打开下拉菜单或子菜单,该参数包含主菜单中下拉菜单或子菜单的菜单索引,然后【HMENU】参数包含主(单击)菜单的句柄;使用GetSubMenu功能获取下拉菜单或子菜单的菜单句柄。

【fuFlags】

【wParam中】的高位字的值。指定一个或多个菜单标志。此参数可以是以下值的组合:

描述
MF_BITMAP项目显示位图。
MF_CHECKED项目已检查。
MF_DISABLED项目被禁用。
MF_GRAYED项目呈灰色
MF_HILITE项目突出显示。
MF_MOUSESELECT使用鼠标选择项目。
MF_OWNERDRAW项目是所有者绘制的项目。
MF_POPUP项目打开一个下拉菜单或子菜单。
MF_SYSMENU项目包含在窗口菜单(也称为系统菜单或控制菜单)中。【HMENU】参数标识与消息相关联的窗口菜单。

【HMENU】

价值【lParam的】.标识已点击的菜单。

返回值

如果应用程序处理此消息,则应返回零。

备注

如果【fuFlags】参数包含0xFFFF且【HMENU】参数包含NULL,则Windows已关闭菜单。

不要对【fuFlags】使用值-1。这是因为【fuFlags】指定为(UINTHIWORD【wParam中】)。如果HIWORD【wParam中】)为0xFFFF,【fuFlags】(因为UINT演员)将为0x0000FFFF,而不是-1。

也可以看看

GetSubMenu