其中的 Button and 3 和 (Button and 3)=3 该如何理解
编号:QA004579
建立日期: 2002年3月15日 最后修改日期:2002年3月15日
所属类别:
司华圣:
我用的是windows98,编程工具是VB 6.0企业版。在学习中遇到一个问题无法理解:在MouseMove 事件中判断Button状态过程如下
private sub form_MouseMove(Button as integer,shift as integer,x as single,y as single)
if Button=3 then... '第一种情形
if Button and 3 then ... '第二种情形
if (Button and 3)=3 then...'第三种情形
end sub
请问其中的 Button and 3 和 (Button and 3)=3 该如何理解?
回答:
If Button and 3 Then表示只要Button和3进行二进制与不为0就满足条件。对于MouseMove事件,左键或右键之一按下就满足条件。如按下左键,Button为1,1 and 3的结果是1,不为0。如按下右键,Button为2,2 and 3的结果是2,不为0。
If (Button and 3)=3表示只有Button和3进行二进制与后的结果等于3才满足条件。左键和右键必须同时按下才满足条件。它和第一种情况的区别在于,Shift等键如果按下,也满足条件3,但不满足条件1。
此问题由李海回答。
| |
|
|
| |
|
|