vb keydown 事件的一些简单问题
2级课本上有一段代码先定义3个符号常量constshift=1constctrl=2constalt=4然后用下面的语句判断是否按下shiftctrlalt键如果shif...
2级课本上有一段代码
先定义3个符号常量
const shift =1
const ctrl =2
const alt =4
然后用下面的语句判断是否按下 shift ctrl alt 键
如果 shift and shift > 0 则按下shift
如果 shift and ctrl >0 则按下ctrl
如果 shift and alt >0 则按下 alt
请问这段话怎么理解, 主要是那个shift and shift 那3句 麻烦解释下 谢谢
不是 我是想问下, 为什么会出现 1和 0这样的结果,我在VB上试
print 5 and 2 结果为0
print 5 and 3 结果为1
这是为什么 展开
先定义3个符号常量
const shift =1
const ctrl =2
const alt =4
然后用下面的语句判断是否按下 shift ctrl alt 键
如果 shift and shift > 0 则按下shift
如果 shift and ctrl >0 则按下ctrl
如果 shift and alt >0 则按下 alt
请问这段话怎么理解, 主要是那个shift and shift 那3句 麻烦解释下 谢谢
不是 我是想问下, 为什么会出现 1和 0这样的结果,我在VB上试
print 5 and 2 结果为0
print 5 and 3 结果为1
这是为什么 展开
1个回答
展开全部
Option Explicit
Const shift_ = 1
Const ctrl = 2
Const alt = 4
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Label1 = ""
If (Shift And shift_) > 0 Then Label1 = Label1 & "则按下shift"
If (Shift And ctrl) > 0 Then Label1 = Label1 & "则按下ctrl"
If (Shift And alt) > 0 Then Label1 = Label1 & "则按下 alt"
End Sub
噢,写成二进制。对应位上的数字都为1,则改位为1。
5 and 2
101 and 10=000=0
5 and 3
101 and 11=001=1
当然,上面的二进制应该是8位或者16位等等。
Const shift_ = 1
Const ctrl = 2
Const alt = 4
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
Label1 = ""
If (Shift And shift_) > 0 Then Label1 = Label1 & "则按下shift"
If (Shift And ctrl) > 0 Then Label1 = Label1 & "则按下ctrl"
If (Shift And alt) > 0 Then Label1 = Label1 & "则按下 alt"
End Sub
噢,写成二进制。对应位上的数字都为1,则改位为1。
5 and 2
101 and 10=000=0
5 and 3
101 and 11=001=1
当然,上面的二进制应该是8位或者16位等等。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询