比如下面,我指定的项目的快捷键分别为ctrl+o,ctrl+q Begin VB.Menu mnuPopup Caption = "文件" Visible = 0 'False Begin VB.Menu mnuOpen Caption = "打开" Shortcut = ^O End Begin VB.Menu mnuQuit Caption = "退出(&Q)" Shortcut = ^Q End End
一种笨方法,把事件过程写在窗体的KeyDown事件里面,判断按下的键。
怎样接受组合键? KeyDown可以接受一个键,但组合键呢?
//怎样接受组合键? KeyDown可以接受一个键,但组合键呢?利用KeyDown事件中的Shift的值进行判定:Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If Shift = 4 Then '如果按下了alt键(按下shift键时shift=1,按下ctrl键时shift=2,按下alt键时shift=4) If KeyCode = 78 Then MsgBox "你按下了ALT-N" ElseIf KeyCode = 79 Then MsgBox "你按下了ALT-O" ElseIf KeyCode = 79 Then MsgBox "你按下了ALT-P" End If End If End Sub
Begin VB.Menu mnuPopup
Caption = "文件"
Visible = 0 'False
Begin VB.Menu mnuOpen
Caption = "打开"
Shortcut = ^O
End
Begin VB.Menu mnuQuit
Caption = "退出(&Q)"
Shortcut = ^Q
End
End
KeyDown可以接受一个键,但组合键呢?
KeyDown可以接受一个键,但组合键呢?利用KeyDown事件中的Shift的值进行判定:Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
If Shift = 4 Then '如果按下了alt键(按下shift键时shift=1,按下ctrl键时shift=2,按下alt键时shift=4)
If KeyCode = 78 Then
MsgBox "你按下了ALT-N"
ElseIf KeyCode = 79 Then
MsgBox "你按下了ALT-O"
ElseIf KeyCode = 79 Then
MsgBox "你按下了ALT-P"
End If
End If
End Sub