最新消息:点击查看大S的省钱秘笈

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

编程相关 Slyar 128浏览 0评论

文章作者:姜南(Slyar) 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

托盘弹出控制菜单后,单击其他地方或者按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,居然告诉我设计就是这样的,设计个锤子...

转载请注明:Slyar Home » 让托盘弹出菜单失去焦点时自动消失

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

网友最新评论 (7)

  1. 谢谢
    IT男2年前 (2014-09-26)回复
  2. 怪不得,好多次遇到这问题,坑爹的设计
    keeds6年前 (2011-04-03)回复
  3. 我了个去,吐槽不能。。
    fengbianlv6年前 (2011-03-11)回复
  4. 学习了,多谢博主分享~~~~~~~
    impact wrench6年前 (2010-12-23)回复
  5. 呵呵,要淡定。
    bronze casting6年前 (2010-12-18)回复
  6. 这是神马情况,没遇到过……
    Jutoy6年前 (2010-12-15)回复
  7. 不懂这个东西的!
    lazy6年前 (2010-12-14)回复