Office中国论坛/Access中国论坛

标题: 请教,如何用代码自定义组合式的快捷键,有奖哦 [打印本页]

作者: fannky    时间: 2008-11-8 11:29
标题: 请教,如何用代码自定义组合式的快捷键,有奖哦
如题,比如我想定义"Alt+1"组合键执行窗体数据保存?

作为感谢,给出正解者将给于加分[:14]
作者: zyp    时间: 2008-11-8 12:46
这个比较麻烦,因为窗体控件在获得焦点时,按键事件是优先于窗体的,除非你将每个能够接受焦点的键按下事件设为一样。

这个是窗体的键按下代码,检测ALT+1的:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
    If Shift = 4 And KeyCode = 49 Then
        MsgBox "您按下了Alt+1"
    End If
End Sub

不过你可以这样做,建一个按钮,将事件写在按钮的单击事件中,将按钮的标签文字设为类似"保存(&1)",这样按Alt+1就会自动激发按钮的单击事件。但是前提是这个按钮的enable为true且Visible=true
作者: tmtony    时间: 2008-11-8 15:17
如果是通用所有窗体,则用全局快捷键  使用Autokeys
如果是单个窗体, 使用zyp的方法
作者: fannky    时间: 2008-11-9 17:00
tmtony 先生可以详细介绍一下AutoKeys吗?
作者: zyp    时间: 2008-11-9 17:28
原帖由 fannky 于 2008-11-9 17:00 发表
tmtony 先生可以详细介绍一下AutoKeys吗?


我代站长回复了:

就是新建一个宏,并保存名为“AutoKeys",一定要是这个名,不能是其它名的。

在宏名的写法如下:

{F5}    单独按下F5键
^{A}     按下Ctrl+A
^+{2}   按下Ctrl+Shift+2

不过好像没Alt的组合键
作者: fannky    时间: 2008-11-10 08:16
这样啊,真好

现在看到了有AutoExec、AutoKeys这两个特殊的宏,勾起了好奇心!还有没有其它类似这两个的特殊命名的宏?




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3