• 5491阅读
  • 7回复

问一个关于鼠标事件的问题 [复制链接]

上一主题 下一主题
离线fox1987
 
只看楼主 倒序阅读 楼主  发表于: 2010-04-30
就是为了判断鼠标左键和右键的事件,我能不能仅根据MouseRelease事件来判断啊。。
就是完全不管MousePress事件。。。
这样会不会有问题啊。。?
谢谢
离线抠涕
只看该作者 1楼 发表于: 2010-04-30
设想一下, 你在A控件Press, 把鼠标拖到B控件,然后Release  
离线fox1987
只看该作者 2楼 发表于: 2010-04-30
引用第1楼抠涕于2010-04-30 09:42发表的  :
设想一下, 你在A控件Press, 把鼠标拖到B控件,然后Release  



这种应该就是不会响应吧。。
刚试了试WIndows的右键效果就是这样的。。
我现在需要的就是类似WIndows右键菜单的效果。。
离线抠涕
只看该作者 3楼 发表于: 2010-04-30
我的意思是:

如果你整个程序就一个控件, 可以只用 Release来判断点击事件。

如果你有多个控件, 而想判断某个控件是否被点击,就不能这么用,
因为可能Release事件对应的Press不是当前控件。严格来讲不能算是一次点击。

当然,也有很多程序把这个也当做点击。很多菜单都这样。这样做也没问题。
看需求来吧。
离线fox1987
只看该作者 4楼 发表于: 2010-04-30
引用第3楼抠涕于2010-04-30 10:07发表的  :
我的意思是:
如果你整个程序就一个控件, 可以只用 Release来判断点击事件。
如果你有多个控件, 而想判断某个控件是否被点击,就不能这么用,
.......



界面上确实会有多个控件。。而且有不止一种控件支持鼠标右键。。。
主要是因为如果两个都判断的话,就是想到有时候会因为Release和Press不在同一个控件上。。
导致事件不好确定。。
所以想简化一下只判断Release是在哪个控件上来判断事件。。

个人想到这样也许能解决问题,但是想不太完全。所以发上来问问大家。。
集思广益。。
谢谢你了!
离线抠涕
只看该作者 5楼 发表于: 2010-04-30
两个都判断才好确定阿。

比如你有多个控件
每个控件都有Press 和 Release事件处理,
然后在Release里判断是否有对应的Press,有的话就 emit 一个点击信号,没有就忽略。

外部只需要等待控件自己发射信号就好。
离线fox1987
只看该作者 6楼 发表于: 2010-04-30
引用第5楼抠涕于2010-04-30 10:26发表的  :
两个都判断才好确定阿。
比如你有多个控件
每个控件都有Press 和 Release事件处理,
然后在Release里判断是否有对应的Press,有的话就 emit 一个点击信号,没有就忽略。
.......



这样如果发生了只收到如左键按下的,然后收到右键释放的。。
这样的算什么啊。。
好像不好处理。。。
离线抠涕
只看该作者 7楼 发表于: 2010-05-10
判断左右键分开处理阿。。。
快速回复
限100 字节
 
上一个 下一个