我有一个 HMENU 并且我知道该项目位于给定位置,拥有该信息是否可以执行以下操作:RunMenuItem(hMenu,3)
该项目的位置在哪里 3?
问问题
150 次
1 回答
2
当您从菜单中选择一个项目时,可能会发生以下两种情况之一:
- 一条
WM_COMMAND
消息被发布到菜单的父窗口,包含菜单项 ID,或者 - 如果菜单
TrackPopupMenu
与标志一起显示,则TPM_RETURNCMD
所选项目 ID 作为调用的结果返回TrackPopupMenu
。
在第一种情况下,您可以通过简单地WM_COMMAND
使用适当的参数自己发布消息来以编程方式模拟这一点。您需要查询HMENU
菜单项 ID(使用GetMenuItemInfo
)。
在第二种情况下,没有简单的方法来模拟它,因为它依赖于调用线程实际调用TrackPopupMenu
和处理结果。
于 2012-12-09T20:17:43.810 回答