KeyDown事件中小键盘输入的数字检测不到
编号:QA004363
建立日期: 2001年8月19日 最后修改日期:2001年8月19日
所属类别:
chenzhongxin:
这是一个键盘检测程序,如果输入25585425,会弹出一的对话框但是问题是只有左边的数字键输入有效,小键盘输入的数字检测不到,是不是小键盘上的数字2不是用vbkey2表示?我手头照料一时找不到,我急需知道,麻烦你了。。。。
我先写了这么一个类模块egg.clsOption Explicit
Private mskeyphrase As String * 8
Property Let char(keycode As Integer)
Select Case keycode
Case vbKey2: mskeyphrase = Mid$(mskeyphrase, 2) & "2"
Case vbKey5: mskeyphrase = Mid$(mskeyphrase, 2) & "5"
Case vbKey8: mskeyphrase = Mid$(mskeyphrase, 2) & "8"
Case vbKey4: mskeyphrase = Mid$(mskeyphrase, 2) & "4"
End Select
If mskeyphrase = "25585425" Then easteregg
End Property
Private Sub easteregg()
MsgBox "i'm here"
End
End Sub
******************************************
然后再在主窗体加入如下代码:
Option Explicit
Dim eggtest As New egg
Private Sub Form_KeyDown(keycode As Integer, Shift As Integer)
eggtest.char = keycode
End Sub
Private Sub Form_Load()
KeyPreview = True
End Sub
回答:
KeyDown事件中,对于小键盘的键和大键盘的键的KeyCode不一样。例如小键盘的4的KeyCode是100。要想知道每个键的KeyCode,可以这样:
Private Sub Form_KeyDown(keycode As Integer, Shift As Integer)
Print keycode
End Sub
此问题由李海回答。
| |
|
|
| |
|
|