您的位置:首页 > 其它

让托盘弹出菜单失去焦点时自动消失

2011-07-30 11:45 176 查看
转自: http://www.slyar.com/blog/tray-menu-exit.html

托盘弹出控制菜单后,单击其他地方或者按ESC键不能使托盘菜单消失,必须选择托盘菜单里的控制选项才能关闭菜单...很纠结的一个问题。

查了好久,终于在MSDN上找到答案,不过这答案让我很想杀了微软的设计人员...

135788:Menus for Notification Icons Do Not Work Correctly

SYMPTOMS:When you display a context menu for a notification icon, clicking anywhere besides the menu or the window that created the menu doesn't cause the menu to disappear.

RESOLUTION:To correct the first behavior, you need to make the current window the foreground window before calling TrackPopupMenu or TrackPopupMenuEx.

修正办法就是将SetForegroundWindow()放在pSubMenu->TrackPopupMenu()前面,这样就使得当前窗口变为前置了。

STATUS:This behavior is by design. //TNND,居然告诉我设计就是这样的,设计个锤子...
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐