在 Win32 API 中,在 windows 消息中假定一个菜单
&文件 -- &编辑 -- &查看
用户点击文件。发送 WM_SYSCOMMAND(WParam = SC_MOUSEMENU 或可能是 SC_KEYMENU),然后发送 WM_ENTERMENULOOP。 用户单击编辑。一样。
我想在弹出之前知道要显示哪个。激活的是&File,&Edit吗?
它看起来不像 WM_SYSCOMMAND 或 WM_ENTERMENULOOP 传递提供此信息的信息。有什么方法可以确定这一点吗?
最佳答案
那就是 WM_INITMENUPOPUP .
此消息被发送到所有者窗口。它的wParam
参数包含即将显示的弹出菜单的HMENU
。
其lParam
参数的低位字指定打开弹出菜单项的索引,如果弹出菜单其高位字为TRUE
是系统菜单,否则为 FALSE
。
关于c++ - 确定 WM_SYSCOMMAND 或 WM_ENTERMENULOOP 激活了哪些菜单项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15290350/