VB KeyDown事件问题
PrivateSubText1_KeyDown(KeyCodeAsInteger,ShiftAsInteger)ConstAlt=4Constkey_F2=&H71alt...
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Const Alt = 4
Const key_F2 = &H71
altdown% = (Shift And Alt) > 0
f2down% = (KeyCode = key_F2)
If altdown% And f2down% Then
Text1.Text = "abl"
End If
End Sub
开始已经定义了Alt=4
那么altdown% = (Shift And Alt) > 0是不是表示按下一个Shift就成立呢?
还是要Shift 和 Alt 都按才成立?
为什么? 展开
Const Alt = 4
Const key_F2 = &H71
altdown% = (Shift And Alt) > 0
f2down% = (KeyCode = key_F2)
If altdown% And f2down% Then
Text1.Text = "abl"
End If
End Sub
开始已经定义了Alt=4
那么altdown% = (Shift And Alt) > 0是不是表示按下一个Shift就成立呢?
还是要Shift 和 Alt 都按才成立?
为什么? 展开
2个回答
展开全部
altdown% = (Shift And Alt) > 0
等效于 altdown% = (Shift And Alt)
等效于 altdown% = Shift And Alt
(Shift And Alt) 的值只有 T/F
t >0 返回 T
f>0 返回 F
所以不如不写
这样看,就必须是 shift and alt 了
这里 shift 表示参数内容,只能必须是按了 Alt 才生效
所以以上代码只有按了 alt + f2 才执行 Text1.Text = "abl"
只按其中一个键是不会执行的。
等效于 altdown% = (Shift And Alt)
等效于 altdown% = Shift And Alt
(Shift And Alt) 的值只有 T/F
t >0 返回 T
f>0 返回 F
所以不如不写
这样看,就必须是 shift and alt 了
这里 shift 表示参数内容,只能必须是按了 Alt 才生效
所以以上代码只有按了 alt + f2 才执行 Text1.Text = "abl"
只按其中一个键是不会执行的。
追问
shift+alt的逻辑值为什么必须是按下alt才等于True ?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询