热情软件屋

 

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

此问题由李海回答。

 
把这个问题推荐给朋友
   
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio