如何自定义三个键的组合键
利用KeyDown事件,我们很轻易地就可以编出让程序响应两个按键的组合键的事件,如:Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) if Shift=1 and KeyCode=VbKeyM then msgbox "您按下了Shift+M键" end if end sub 如果要让程序响应三个键的组合键就要麻烦一点,比如现在要用shift+b+m打开"部门"窗体。 首先要声明两个窗体级变量mSta/bSta保存M及B键的按键状态,然后在窗体的Load事件里设置KeyPreview(键预览)为True,以便窗体先于控件接收键盘事件。 在KeyDown事件里判断按键,如果按下M或B,就把mSta或bSta置为True。 在KeyUp事件里判断按键,如果放开M或B,就把mSta或bSta置为false。 做完这些事后就可以在KeyDown事件里判断是否按下了Shift+M+B键了,代玛如下: Dim mSta As Boolean Dim bSta As Boolean Private Sub Form_Load() Me.KeyPreview = True End Sub Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyM Then mSta = True End If If KeyCode = vbKeyb Then bSta = True End If If Shift = 1 And mSta = True And bSta = True Then DoCmd.OpenForm "部门" mSta = False bSta = False End If End Sub Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyM Then mSta = False End If If KeyCode = vbKeyB Then bSta = False End If End Sub
--------------------------------------------------------------------------------
相关文章
没有相关文章
|