我有一个遗留代码,其中完成了WIn 32编程.
在这里,有一个托盘图标,当右键单击时会启动菜单.
但是,即使在焦点区域外单击,菜单仍会保留.
当我在其他地方点击鼠标时,如何关闭菜单?
像Qt这样的框架管理得很好.我是否必须跟踪鼠标指针,捕获点击并查看它是否落在菜单区域之外?
代码在遗留C中,并且没有使用面向对象的概念.所以不像我可以在这里覆盖一些东西.
请指教,谢谢.
Jon*_*ter 10
阅读该TrackPopupMenu函数文档底部的备注:http://msdn.microsoft.com/en-us/library/windows/desktop/ms648002(v = vs.85).aspx
特别:
要显示通知图标的上下文菜单,当前窗口必须是应用程序调用TrackPopupMenu或TrackPopupMenuEx之前的前台窗口.否则,当用户单击菜单外部或创建菜单的窗口(如果可见)时,菜单不会消失.如果当前窗口是子窗口,则必须将(顶级)父窗口设置为前景窗口.
| 归档时间: |
|
| 查看次数: |
2057 次 |
| 最近记录: |