• Vô hiệu hóa chuột phải, phím chức năng
  • Vô hiệu hóa chuột phải, phím chức năng

    tieuphung88 > 25-07-15, 08:03 PM

    Chào các ace trên diễn đàn
    ACE nào biết xin chỉ dùm mình hai vấn đề sau (mình dùng Access 2010):
    1. Vô hiệu hóa chuột phải khi chạy form ở chế độ form view. Vì nếu kích chuột phải thì nó vẫn có chức năng DesignView và Close form
    2. Vô hiệu hóa các Phím chức năng như F1, F2.... vì khi mình chạy form lên thì khi nhấn F12(chẳng hạn) thì nó vẫn hiển thị ra hộp thoại Save As của Form
    Mình xin chân thành cảm ơn
  • RE: Vô hiệu hóa chuột phải, phím chức năng

    tranthanhan1962 > 25-07-15, 09:51 PM

    (25-07-15, 08:03 PM)tieuphung88 Đã viết: Chào các ace trên diễn đàn
    ACE nào biết xin chỉ dùm mình hai vấn đề sau (mình dùng Access 2010):
    1. Vô hiệu hóa chuột phải khi chạy form ở chế độ form view. Vì nếu kích chuột phải thì nó vẫn có chức năng DesignView và Close form
    2. Vô hiệu hóa các Phím chức năng như F1, F2.... vì khi mình chạy form lên thì khi nhấn F12(chẳng hạn) thì nó vẫn hiển thị ra hộp thoại Save As của Form
    Mình xin chân thành cảm ơn

         1/ Vô hiệu hóa chuột phải:
                Form Properties - Other - Shortcut Menu : No
         2/ Vô hiệu hóa các phím chức năng (function keys):
               Sử dụng code này:
     

    Mã PHP:
    Private Sub Form_KeyDown(KeyCode As IntegerShift As Integer)
    On Error GoTo Err_Form_KeyDown
    Dim intCtrlDown 
    As IntegerintAltDown As IntegerintShiftDown As Integer
     
    intCtrlDown 
    = (Shift And acCtrlMask) > 0
    intAltDown 
    = (Shift And acAltMask) > 0
    intShiftDown 
    = (Shift And acShiftMask) > 0
     
    'Vô hiệu hóa các phím: F12 (Save), F7 (Spelling), F5 (Refresh), F1(Help), ESC (undo)
     
    If KeyCode = vbKeyF12 Or KeyCode = vbKeyF7 Or KeyCode = vbKeyF5 Or _
    KeyCode = vbKeyF1 Or KeyCode = vbKeyEscape Then
    KeyCode = 0
    End If
     
    '
    Vô hiệu hóa các tổ hợp phím CONTROL F4CONTROL WCONTROL (Replace), CONTROL (Print)
    'CONTROL +O (Open), CONTROL + F (Find), CONTROL + N (New), CONTROL + Z (undo)
     
    If intCtrlDown Then
    If KeyCode = vbKeyF4 Or KeyCode = vbKeyW Or KeyCode = vbKeyH Or _
    KeyCode = vbKeyP Or KeyCode = vbKeyO Or _
    KeyCode = vbKeyN Or KeyCode = vbKeyZ Then
    KeyCode = 0
    ElseIf KeyCode = vbKeyF Then
    KeyCode = 0
    DoCmd.OpenForm "frm_Search"
    Else
    End If
    End If
     
    Err_Form_KeyDown:
     
    End Sub 
  • RE: Vô hiệu hóa chuột phải, phím chức năng

    tieuphung88 > 26-07-15, 10:57 PM

    Bạn ơi, xem lại dùm mình sao đoạn code trên không có tác dụng, mình đã đưa vào sự kiện Form_KeyDown rồi mà vẫn không được.
    Mã:
    Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    On Error GoTo Err_Form_KeyDown
    Dim intCtrlDown As Integer, intAltDown As Integer, intShiftDown As Integer

    intCtrlDown = (Shift And acCtrlMask) > 0
    intAltDown = (Shift And acAltMask) > 0
    intShiftDown = (Shift And acShiftMask) > 0

    'Vô hi?u hóa các phím: F12 (Save), F7 (Spelling), F5 (Refresh), F1(Help), ESC (undo)

    If KeyCode = vbKeyF12 Or KeyCode = vbKeyF7 Or KeyCode = vbKeyF5 Or KeyCode = vbKeyF1 Or KeyCode = vbKeyEscape Then
    KeyCode = 0
    End If

    'Vô hi?u hóa các t? h?p phím CONTROL + F4, CONTROL + W, CONTROL + H (Replace), CONTROL + P (Print)
    'CONTROL +O (Open), CONTROL + F (Find), CONTROL + N (New), CONTROL + Z (undo)

    If intCtrlDown Then
    If KeyCode = vbKeyF4 Or KeyCode = vbKeyW Or KeyCode = vbKeyH Or KeyCode = vbKeyP Or KeyCode = vbKeyO Or KeyCode = vbKeyN Or KeyCode = vbKeyZ Or KeyCode = vbKeyF Then
    KeyCode = 0
    End If
    End If

    Err_Form_KeyDown:

    End Sub
  • RE: Vô hiệu hóa chuột phải, phím chức năng

    ongke0711 > 27-07-15, 12:27 AM

    Form_KeyDown phải đi kèm với KeyPreview = Yes mới  có hiệu lực bạn tieuphung88.
  • RE: Vô hiệu hóa chuột phải, phím chức năng

    tranthanhan1962 > 27-07-15, 12:48 AM

    Sorry nha tieuphung88 mình quên cái khoản KeyPreview = Yes. Thank ongke0711 đã nhắc nhở điều này.
    Bạn đưa vào code event Form_Load

    Private Sub Form_Load()
    Me.KeyPreview = True
    End Sub
  • RE: Vô hiệu hóa chuột phải, phím chức năng

    tieuphung88 > 27-07-15, 11:14 AM

    chân thành cảm ơn...!!!