• KeyCode các phím trên bàn phím
  • KeyCode các phím trên bàn phím

    Noname > 28-08-10, 11:01 AM

    Một số bạn trong lập trình thường có nhu cầu bắt sự kiện các phím đặt biệt như Shift, ALT, Enter, Tab... và quan trọng là phải biết mã của chúng để chặn sự kiện. Thường ta ứng dụng việc này vào việc gán phím tắt cho 1 số hành động như thêm mới, sửa , xóa, in...
    Ta có thể thiết kế 1 form để liệt kê code các phím thông thường như sau:
    bạn vẽ lên form 1 ListBox với tên là List1, 1 commandButton tên Command1 và copy code sau vào form.

    Đoạn code này sẽ ứng với các mã các ký tự trên bàn phím. Lưu Ý sẽ không lấy được các mã của phím đặt biệt do đó bạn phải nhớ các mã đó như: Enter: 13, Esc: 27, KeyUp -> Key Down: 37 ->40 ...

    Code:
    Mã PHP:
    'Đoạn code này sẽ liệt kê mã của các ký tự trên bàn phím
        Private Sub Command1_Click()
        Dim i As Integer

        For i = 1 To 255
        List1.AddItem i & vbTab & Chr(i)
        Next
        End Sub 


    Để lấy được Các phím đặt biệt, bạn vẽ 1 text box. ví dụ tên text1
    Ta có sự kiện keydow như sau:

    Mã PHP:
    Private Sub Text1_KeyDown(KeyCode As IntegerShift As Integer)
        
    Select Case (KeyCode)

        Case 
    "8"
        
    MsgBox "Backspace Keyis " KeyCode

        
    Case "9"
        
    MsgBox "Tap Key is " KeyCode

        
    Case "12"
        
    MsgBox "Clear Key is " KeyCode

        
    Case "13"
        
    MsgBox "Enter Key is " KeyCode

        
    Case "16"
        
    MsgBox "Shift Key is " KeyCode

        
    Case "17"
        
    MsgBox "Control Key is " KeyCode

        
    Case "27"
        
    MsgBox "Esc Key is " KeyCode

        
    Case "32"
        
    MsgBox "SpaceBar Key is " KeyCode

        
    Case "112"
        
    MsgBox "F1 Key is " KeyCode

        
    Case "113"
        
    MsgBox "F2 Key is " KeyCode

        
    Case "114"
        
    MsgBox "F3 Key is " KeyCode

        
    Case "115"
        
    MsgBox "F4 Key is " KeyCode

        
    Case "116"
        
    MsgBox "F5 Key is " KeyCode

        
    Case "117"
        
    MsgBox "F6 Key is " KeyCode

        
    Case "118"
        
    MsgBox "F7 Key is " KeyCode

        
    Case "119"
        
    MsgBox "F8 Key is " KeyCode

        
    Case "120"
        
    MsgBox "F9 Key is " KeyCode

        
    Case "121"
        
    MsgBox "F10 Key is " KeyCode

        
    Case "122"
        
    MsgBox "F11 Key is " KeyCode

        
    Case "123"
        
    MsgBox "F12 Key is " KeyCode

        
    Case Else
        
    MsgBox "you is press " KeyCode

        End Select

        End Sub 

    Chú ý: bạn có thể thay các Messege box bằng các đoạn code/lệnh mình muốn khi có sự kiện đó xảy ra trên form textbox đó. Thủ thuật này có thể áp dụng với các Object khác của Access có hỗ trợ event key enter/ keyup/ keydown...