我正在使用TrackPopupMenu显示一个弹出菜单,想知道何时通过点击它来解除它。我查看了所有菜单功能,但在这方面没有找到任何有用的东西。 Spy ++告诉我在这种情况下不会发送任何窗口消息。
那么,有没有安装鼠标钩的简单方法呢?谢谢!
答案 0 :(得分:3)
<强> [编辑] 强>
这个更好。
如果在uFlags参数中指定TPM_RETURNCMD,则返回值是用户选择的项的菜单项标识符。如果用户取消菜单而未进行选择,或者发生错误,则返回值为零。
当:: TrackPopupMenu()返回时,菜单循环结束:) 如果选择了菜单项,则将HWND作为第6个参数传递的窗口将收到带有所选项目ID的WM_COMMAND消息。您可能:: PeekMessage()之后:: TrackPopupMenu()返回以查看WM_COMMAND是否在队列中。
如果您希望在:: TrackPopupMenu()中收到通知,则可以处理WM_EXITMENULOOP。