在Win32 API中,在Windows消息中假设菜单为
& File - & Edit - & View
用户单击“文件”。 WM_SYSCOMMAND(WParam = SC_MOUSEMENU或SC_KEYMENU)然后发送WM_ENTERMENULOOP。 用户单击“编辑”。相同。
我想知道哪一个即将在弹出之前显示出来。它是& File,是& Edit被激活了吗?
它看起来不像WM_SYSCOMMAND或WM_ENTERMENULOOP传递提供此信息的信息。有没有办法确定这个?
答案 0 :(得分:2)
那将是WM_INITMENUPOPUP。
此消息将发送到所有者窗口。其wParam
参数包含即将显示的弹出菜单的HMENU
。
其lParam
参数的低位字指定打开弹出窗口的菜单项的索引,如果弹出菜单是系统菜单,则其高位字为TRUE
,或者否则FALSE
。