onenote中有11个样式,标记则有9个默认的快捷键,现在想用F1~F11映射11个样式,同时也想用F1~F9映射9个标记样式,是否有办法在同一个AHK脚本中随时切换这两套快捷键体系呢?

基本思路
在脚本的开头部分,设置一个全局变量作为切换的指示参数,根据相应操作更改该参数,然后配合对应参数的#If区块,实现切换。


方法一:使用热键切换参数
在代码顶部设置参数switchNO = 0,作为功能切换的指示值的默认值,对应“#If switchNO==0”中的代码。

最简单的切换参数的方式是,直接用快捷键进行切换。例如,直接在某热键XX下,将switchNO更改为2。按下XX后,“#If switchNO==2”中的代码开始起作用,从而实现快捷键体系的切换。

F5::
switchNO = 2
return

方法二:使用GUI窗口界面切换参数
如果快捷键体系较多,直接使用热键来切换参数太浪费按键,此时,GUI界面窗口是不错的选择。

如果只是想在多套快捷键方案中选择其一,要实现这样的切换,Radio Button控件是第一选择。将各套方案用Radio在界面上列出来,需要哪套选择哪套即可。
使用g 标签切换参数
在图形界面中定义控件时,以gXXX命名变量,后面的XXX即可作为执行入口。例如下面的代码,将控件Radio的g 标签设置为grb1,并在rb1中定义代码;之后,在图形窗口中选择grb1对应的控件时,会直接执行rb1中的代码。例如下面这段代码中,点击“标题”按钮时,即可将switchNO的值更改为1。通过这种图形界面,可以很方便的在多套快捷键体系中实现切换。

Microsoft OneNote AHK协同教程 GUI界面切换快捷键体系

Gui Add, Radio, grb1 x74 y50 w120 h23, 标题
Gui Add, Radio, grb2 x74 y100 w120 h23, 样式
Gui Show, w620 h420,
Return

rb1:
switchNO=1
Return

rb2:
switchNO=2
Return

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注