(急问)关于vb的鼠标事件

来源:百度知道 编辑:UC知道 时间:2024/07/03 03:24:55
书上说,对于mousemove事件来说,可以通过button参数判断按下一个或同时按下多个键。书上有一个语句如下:
if button and 2 then print "按着右键"
我想问,if button and 2 是什么意思?为什么它可以判断右键被按下(不管其他键是不是同时按下)?
不是if button = 2 ,这个我知道,可是这个语句只能判断是不是只按着右键,如果既按着左键又按着右键用if button = 2 就判断不出来了。书上说,if button and 2可以判断,可是我不明白这个AND是什么意思啊。

button and 2
是 button 和 2 做 位的与运算
通过这个运算结果是 2 还 是 0
就可以判断右键是否处与被按下状态

是if button = 2 吧
其实这里的2也就相当于vbRightButton
vbLeftButton=1

你可以尝试用if button =vbRightButton 替换试一下

这个还用问;思考一下开发vb的心里;他们英文没有中文那么多表达意思,and2;当按住右键;就是不停的2222222222;就是2and2and2and2and2and2and2,那么他们都是高手吖;不能这么写吖;就说and2不就很理想吗;所以就成and2了;标准谁说了算;谁做的就是谁说了算;所以希望我们中国人更多的开发出自己的标准

_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
这里的Button是MouseMove事件里的参数。Button=1是按下左键,Button=2是按下右键,后面还有Button=3,4,5,6,7.主要是Button=1和Button=2常见,MouseMove事件里还有Shift 参数,是判断按下鼠标的同时是否也按下了Shift 或者ctrl和alt键

and 是说button事件和2事件同时成立!2是指button的属性值!
PS: Button=2是按下右键