| 如何自定义三个键的组合键 |
|
| 作者:李寻欢『… 文章来源:access爱好者 点击数: 本日:{$DayHits} 更新时间:2005-8-16 11:21:26 |
|
利用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 |
| 文章录入:tm 责任编辑:tm |
|
上一篇文章: 为何窗体的键盘事件不响应?
下一篇文章: 切换面板动态时钟的副作用 |
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |