如何判断在text控件中同时按下了组合键?
想实现这样的功能
在一个text控件中判断 是否按下了
Alt、Ctrl、Shift其中任意一个键或者这三个键的任意组合 + 一个字母键?
如果按下的不是这个组合则提示出错,
谢谢,可能是我思路有问题,在keydown或者keyup事件中都不能正确的判断
我的代码如下:
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode < 65 Or KeyCode > 90 or Shift < 1 Then
MsgBox "请按下你需要设置的热键。 "
Exit Sub
End If
End Sub
[解决办法]
你在KEYPRESS事件中写呢
[解决办法]
在keyDown事件中对Shift变量进行位掩码检查就可以判断是否按下了Ctrl、Alt或Shift中的某几个。再使用KeyCode来判断普通按键是否按下,就可以实现LZ要的功能了。
[解决办法]
位掩码检测举例:
If (Shift And 1) Then
Msgbox "你按下了Shift键 "
End If
If (Shift And 2) Then
Msgbox "你按下了Ctrl键 "
End If
If (Shift And 4) Then
Msgbox "你按下了Alt键 "
End If
现在应该没有问题了吧。
[解决办法]
sandy_zc_1() 正解
1,2,4对应的常量分别是:
vbShiftMask
vbCtrlMask
vbAltMask
If (Shift And vbShiftMask) Then
Msgbox "你按下了Shift键 "
End If