精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● VB和Basic>>● VB和Basic(1)>>高级技巧>>判断Text中按下的各种组合键

主题:判断Text中按下的各种组合键
发信人: fishy()
整理人: fishy(2000-05-07 13:36:32), 站内信件
以下代码可以判断在Text中按下的各种组合键(比如Alt+F1),并且显示在Text中


Private Sub txtKey_KeyDown(KeyCode As Integer, Shift As Integer)
    Dim ShiftP As Boolean, CtrlP As Boolean, AltP As Boolean
    Dim KeyText As String, Temp As Integer, Key As String
    
    '判断组合键
    Temp = Shift
    KeyText = vbNullString
    ShiftP = (Temp Mod 2 = 1)
    If ShiftP Then KeyText = KeyText + "Shift+"
    Temp = Temp \ 2
    CtrlP = (Temp Mod 2 = 1)
    If CtrlP Then KeyText = KeyText + "Ctrl+"
    Temp = Temp \ 2
    AltP = (Temp Mod 2 = 1)
    If AltP Then KeyText = KeyText + "Alt+"
    
    '判断主要按键
    Key = vbNullString
    Select Case KeyCode
        Case Is = vbKeyLeft
            Key = "Left"
        Case Is = vbKeyRight
            Key = "Right"
        Case Is = vbKeyDown
            Key = "Down"
        Case Is = vbKeyUp
            Key = "Up"
        Case Is = vbKeySpace
            Key = "Space"
        Case Else
            If (KeyCode >= vbKey0) And (KeyCode <= vbKey9) Then
Key = CStr(KeyCode - vbKey0)
End If
If (KeyCode >= vbKeyF1) And (KeyCode <= vbKeyF12) Then
Key = "F" + CStr(KeyCode - vbKeyF1 + 1)
End If
If (KeyCode >= vbKeyA) And (KeyCode <= vbKeyZ) Then
Key = Chr(KeyCode - vbKeyA + Asc("A"))
End If
End Select

If Key <> vbNullString Then
        LastText = KeyText + Key
        AltTemp = AltP
        CtrlTemp = CtrlP
        ShiftTemp = ShiftP
        MainTemp = KeyCode
        txtKey.Text = LastText
        Command3.Enabled = True
      End If
End Sub

--
Dim fishy As Friend
回复时请打勾
------------
欢迎大家访问酷码工作室:http://comma.yes8.com

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.110.178.162]

[关闭][返回]