-
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 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 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...!!!