大家好,我按下鼠标右键,实现了弹出右键菜单的功能。
当我在按住鼠标右键,进行鼠标移动的时候,此时我想让先前弹出的右键菜单消失。请问这个功能如何实现啊?

解决方案 »

  1.   

    这右键弹出菜单不是天经地义就弹出来的,在程序中要用代码来实现。它的特性也是用代码来控制。
    对于大多数程序,比如桌面,或者是现在我们所见到的IE,没办法,人家微软做windows时就是这么设定的。如果是咱自己做的程序,那就好办啦,你想这么样都可以啊 :)
      

  2.   

    对了,楼主可能指的就是编程中的问题。MFC我没用过,C#中有一个弹出式菜单控件可用,估计MFC中也有。你用这样的现成控件,其特性也被微软设定死了。你想实现自己的要求,就得自己处理鼠标消息,自绘菜单,控制其显示、位置及消失。
      

  3.   

    简单一点的可以换一个操作方式, 就是在右键抬起是显示菜单
    建一个右键下移动的标记变量A,
    在右键按下清除A 移动鼠标时判断是否是右键按下状态 是则置A
    右键弹起时判断非A时弹出菜单
    效果就是右键并移动后抬起不弹出菜单, 正常右键点击弹出菜单