把程序最小化到了右下角图标区后,右键单击出来了菜单,如果不点菜单,点桌面上,菜单不会被关闭掉,如何把popupmenu关闭掉呢。

解决方案 »

  1.   

    你用的什么方法把图标显示在托盘区的?
    如果是用某一控件作的,需要修改控件代码。
    把在WM_RBUTTONUP中弹出菜单改为在WM_RBUTTONDOWN时弹出菜单就行了。
    凡是在鼠标右键抬起时才弹出菜单的托盘区图标都有这个问题。
      

  2.   

    WM_RBUTTONDOWN和 WM_RBUTTONUP都试过了,都不行。
      

  3.   

    我是用自己的代码实现的托盘区图标功能,开始用WM_RBUTTONUP弹出菜单,就有这个问题,后来改用WM_RBUTTONDOWN后就没问题了。
      

  4.   

    用什么方法我已经有办法了,问题是popupmenu 如何关闭,popupmenu.????????????
      

  5.   

    WM_RBUTTONDOWN 消息处理过程中添加postmessage(0,0,0,0);
    最简单的解决方法,哈哈,给分吧
      

  6.   

    to 农民我这么写
    WM_RBUTTONDOWN:
            begin
            getcursorpos(p);
            postmessage(0,0,0,0);
            PopupMenu1.Popup(P.x, P.y);
             end;还是不行,点出来菜单后,再点桌面。菜单还是在。你看看qq ,就不会那样。
      

  7.   

    我用CoolTray组件的,没见有这样的问题呀?
    所以用第三方组件简单又方便
      

  8.   

    我也遇到了这样的问题,但没有成功解决,只好用控件解决的,hehe
      

  9.   


    这个问题在很多软件中都存在上面有人说用hook,我觉得这样的问题可以不理会