为动作设计自定义右键菜单
1.8.3+ 可为动作自定义右键菜单,用来解决两件事:
- 怎么进配置界面,让使用者改个性化设置。
- 一个动作有多种模式时,启动时怎么选定。
更早的做法是:在动作自己的窗口里加菜单,或启动时看有没有按 Ctrl。自定义右键菜单的原理更直接:
- 点菜单项 = 运行该动作,并传入该项写死的参数。
- 动作里读
{quicker_in_param},按参数走对应分支。
定义菜单
菜单文本写在动作 选项 里的「右键菜单定义」。编辑器右侧外观栏也能看到这项。输入框偏小,内容多时在框上右键,用大窗口改。
格式
- 一行一项。
////开头当注释。----是分割线。- 竖线
|左边是外观,右边是传给动作的参数。
例子:[fa:Light_Flag]菜单标题(tooltip内容)|_qk_menu_icon_menu
外观可含图标、标题、Tooltip(后两项可选):
[fa:图标名称]:默认色(动作菜单默认偏绿,和内置菜单区分)。[fa:图标名:#RRGGBB]:自定义颜色,给有风险或要强调的项用。- 图标名可在编辑器右键「插入图标名菜单」里挑。见 在动作中使用图标。

参数尽量用不容易撞车的值。多项时可加同一前缀,动作里按前缀分支。
多级菜单
缩进(1.36.7+):空格或 Tab 表示子菜单。同一级对齐,两种空白不要混用。
[fa:Light_Cog:#FF0000]设置
[fa:Light_Cog:#FF0000]设置项1|参数值1
[fa:Light_Cog:#FF0000]设置项11|参数值11
[fa:Light_Cog:#FF0000]设置项2|参数值2
[fa:Light_Cog:#FF0000]设置项21|参数值21
符号标记(1.36.7 之前):父项前加 [+],子项前加 [-]。
////注释内容
无图标菜单|_qk_menu_no_icon
带Tooltip的菜单(tooltip内容)|_qk_menu_tooltip
[fa:Light_Flag]带图标的菜单(tooltip内容)|_qk_menu_icon_menu
[+][fa:Light_Cog]二级菜单(提示内容...)
[-][fa:Light_UserCircle]子菜单|_qk_menu_submenu
[fa:Light_Wrench:#f57e42]危险动作菜单(tooltip内容)|_qk_menu_sample
在动作里判断
用 如果 比较 {quicker_in_param} 和菜单参数:
命中就走对应步骤。
会变的菜单项
菜单文案要随工作模式变时,用 状态存取 改。
调试菜单项
方式 1:按 右侧 Shift 再点菜单项,走调试运行。
方式 2:另建一个动作,用 运行其他动作 填目标和参数,勾选调试。
连续改的话,编辑器里 Ctrl + 点击保存 只存不关窗。
使用
在动作上右键点对应项即可。右侧 Shift + 点击该项则调试运行。
更多示例
来自 @瓜皮之牙:
入门教程:瓜皮的自定义右键菜单
限制与排障
- 参数要足够特殊,避免和正常传入的数据撞车。
- 缩进子菜单不要把空格和 Tab 混在同一份定义里。
- 改了菜单参数却没改动作里的判断,点菜单会落到默认分支。
相关链接
更新于