Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'上面的KeyCode和Shift是什么
Dim ShiftDown, AltDown, CtrlDown '这个Dim语句后面怎么没有As …
Dim txt As String
ShiftDown = (Shift And vbShiftMask) > 0 '
'上面的And是什么意思,vbShiftMask是不是就是vb中代表键盘上Shift键的常数,那么上面的代码中的Shift的值是多少,为什么要用括号,后面大于0是什么意思,而且0的后面有“'”这个东西,又是什么意思??
AltDown = (Shift And vbAltMask) > 0 '
CtrlDown = (Shift And vbCtrlMask) > 0 '
If KeyCode >= 48 And KeyCode >= 105 Then '这里的数值又是哪里来的
If ShiftDown And AltDown And CtrlDown Then
txt = "Shif+Alt+Ctrl"
ElseIf ShiftDown And AltDown Then
txt = "Shif+Alt"
ElseIf ShiftDown And CtrlDown Then
txt = "Shif+Ctrl"
ElseIf CtrlDown And AltDown Then
txt = "Ctrl+Alt"
ElseIf ShiftDown Then
txt = "shif"
ElseIf AltDown Then
txt = "Alt"
ElseIf CtrlDown Then
txt = "Ctrl"
ElseIf Shift = 0 Then
txt = ""
End If
txt = txt + Chr(KeyCode)
Lbl1.Text = "您按下了" + txt
End If 'if语句里是不是可以省略elseif的部分,这个end if 所对应的if语句好像没有elseif的部分
End Sub
还有,当选择有些事件的时候,后面括号里怎么有定义变量:
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
这个,Button,Shift,X,Y有什么用
vb中的一些问题
答案:1 悬赏:30
解决时间 2021-03-07 05:42
- 提问者网友:单纯说谎家
- 2021-03-06 19:02
最佳答案
- 二级知识专家网友:一只傻青衣
- 2021-03-06 20:05
keycode是按键代号,就是触发事件时候你按下的是什么键的代码
shift就是特殊键的状态,包括alt,ctrl,shift等。
ShiftDown = (Shift And vbShiftMask) > 0 '
这句是一个逻辑赋值语句。曾经我类似的回答了某人被判“错误”- -
这句的意思是先计算(Shift And vbShiftMask) > 0的逻辑值
用and 呵呵~~ 因为他是以2,4,8,16,32为系列,因此任何几个情况(如shift+ctrl)都能够表示出来(唯一的,如2+4=6 其它任何组合都达不到6)
程序中就是这样表示的
那么这里就是先判断是否按下了shift,如果按下了shift,那么(Shift And vbShiftMask) > 0这句就是true,否则是false(逻辑语句)
同时把true,false赋值给shiftdown。也就是按下shift,那么shiftdown=true,没有按下,那么就是false。
If KeyCode >= 48 And KeyCode >= 105:
你可以自己写一个msgbox keycode
然后自己一个一个键按过去就知道48是哪个键,105是哪个键,中间是哪些了
'if语句里是不是可以省略elseif的部分,这个end if 所对应的if语句好像没有elseif的部
这里的end if对应的是If KeyCode >= 48 And KeyCode >= 105这句。对 可以没有else,可以没有else if。都是可选选项。你可以不写如果你不处理其它内容的话。
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
这个,Button,Shift,X,Y有什么用
这里是返回值。当form上鼠标弹起的时候,button就是按下哪个键弹起的,shift就是辅助状态,x就是鼠标在窗体上的x坐标,y就是…………
你可以这样写
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Debug.print "Button=";button,"Shift=";shift,"X=";x,"Y=";y
end sub
这样你在form上鼠标移动的时候你就知道具体数据了(可以按下鼠标)
shift就是特殊键的状态,包括alt,ctrl,shift等。
ShiftDown = (Shift And vbShiftMask) > 0 '
这句是一个逻辑赋值语句。曾经我类似的回答了某人被判“错误”- -
这句的意思是先计算(Shift And vbShiftMask) > 0的逻辑值
用and 呵呵~~ 因为他是以2,4,8,16,32为系列,因此任何几个情况(如shift+ctrl)都能够表示出来(唯一的,如2+4=6 其它任何组合都达不到6)
程序中就是这样表示的
那么这里就是先判断是否按下了shift,如果按下了shift,那么(Shift And vbShiftMask) > 0这句就是true,否则是false(逻辑语句)
同时把true,false赋值给shiftdown。也就是按下shift,那么shiftdown=true,没有按下,那么就是false。
If KeyCode >= 48 And KeyCode >= 105:
你可以自己写一个msgbox keycode
然后自己一个一个键按过去就知道48是哪个键,105是哪个键,中间是哪些了
'if语句里是不是可以省略elseif的部分,这个end if 所对应的if语句好像没有elseif的部
这里的end if对应的是If KeyCode >= 48 And KeyCode >= 105这句。对 可以没有else,可以没有else if。都是可选选项。你可以不写如果你不处理其它内容的话。
Private Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
这个,Button,Shift,X,Y有什么用
这里是返回值。当form上鼠标弹起的时候,button就是按下哪个键弹起的,shift就是辅助状态,x就是鼠标在窗体上的x坐标,y就是…………
你可以这样写
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Debug.print "Button=";button,"Shift=";shift,"X=";x,"Y=";y
end sub
这样你在form上鼠标移动的时候你就知道具体数据了(可以按下鼠标)
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |