首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当鼠标在其焦点之外单击时隐藏/关闭菜单

问当鼠标在其焦点之外单击时隐藏/关闭菜单
EN

Stack Overflow用户
提问于 2013-03-19 16:27:37
回答 1查看 2.8K关注 0票数 5

我有一个用来进行WIn 32编程的遗留代码。

在这里,有一个托盘图标,当右键单击时会启动一个菜单。

但是,即使在其焦点区域之外单击,菜单仍然存在。

如何在鼠标单击其他位置时关闭菜单?

像Qt这样的框架可以很好地管理它。我是否必须跟踪鼠标指针,捕捉点击并查看它是否落在菜单区域之外?

代码是用传统的C编写的,没有面向对象的概念是used..so的,我不能在这里覆盖某些东西。

敬请指教,谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-19 16:30:52

阅读文档底部有关TrackPopupMenu函数的注释:http://msdn.microsoft.com/en-us/library/windows/desktop/ms648002(v=vs.85).aspx

具体地说:

要显示通知图标的上下文菜单,在应用程序调用TrackPopupMenu或TrackPopupMenuEx之前,当前窗口必须是前台窗口。否则,当用户在菜单或创建该菜单的窗口(如果可见)之外单击时,该菜单不会消失。如果当前窗口是子窗口,则必须将(顶级)父窗口设置为前景窗口。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15494591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档