Đánh giá chủ đề:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Hỏi] Vô hiệu hóa chuột phải, phím chức năng
#1
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
Chữ ký của tieuphung88 tieuphung88, proud to be a member of Thủ Thuật Access since 18-06 -15.
Reply
Những người đã cảm ơn
#2
(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 
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn maidinhdan , tieuphung88 , Noname , Minh Tiên , vulhu06
#3
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
Chữ ký của tieuphung88 tieuphung88, proud to be a member of Thủ Thuật Access since 18-06 -15.
Reply
Những người đã cảm ơn
#4
Form_KeyDown phải đi kèm với KeyPreview = Yes mới  có hiệu lực bạn tieuphung88.
Chữ ký của ongke0711 If you BORN poor, it's not your mistake. But if you DIE poor, It's your mistake!
ღღღღღTài sản của ongke0711 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn tranthanhan1962 , Noname , tieuphung88 , Minh Tiên
#5
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
Chữ ký của tranthanhan1962 Kết quả cuối cùng của một đời người, không phải bạn có được bao nhiêu tiền bạc, tài sản. Mà bạn còn bao nhiêu người bạn  thumbs up
ღღღღღTài sản của tranthanhan1962 (View All Items) ღღღღღ
Reply
Những người đã cảm ơn Noname , tieuphung88 , Minh Tiên
#6
chân thành cảm ơn...!!!
Chữ ký của tieuphung88 tieuphung88, proud to be a member of Thủ Thuật Access since 18-06 -15.
Reply
Những người đã cảm ơn


Có thể liên quan đến chủ đề
Chủ đề: Tác giả Trả lời: Xem: Bài mới nhất
  [Hỏi] Sử dụng chuột giữa trong subform là report. toancvp 10 360 12-10-16, 01:01 AM
Bài mới nhất: toancvp
  Click đúp chuột hiện form và cập nhật dữ liệu theo số phiếu Ranju 1 133 05-10-16, 11:02 AM
Bài mới nhất: lmthu
  Không cho phép click phải chuột trên form ChiMai 2 144 03-09-16, 09:33 PM
Bài mới nhất: ongke0711
Photo [Hỏi] Match dữ liệu 2 table Nhu Cầu SX và Năng và Lực SX Phung Duc 9 470 06-08-16, 07:46 PM
Bài mới nhất: ongke0711
  [Hỏi] Chức năng hiện Control theo điều kiện toancvp 5 264 16-06-16, 04:23 PM
Bài mới nhất: toancvp

Chuyển nhanh:


User(s) browsing this thread: 1 Guest(s)
Diễn Đàn Thơ Văn Thi Ẩm Lâu|Nhà Hàng Sông Thơ