可以为菜单命令分配等效键(有时称为快捷键)。当按下键或组合键时,菜单项会将
select
事件调度到任何注册的侦听器。包含该项目的菜单必须是应用程序菜单的一部分,或者是要调用的命令的活动窗口菜单的一部分。
等效键有两部分,一部分是表示主键的字符串,另一部分是一组必须同时按下的功能键。若要分配主键,请将菜单项
keyEquivalent
属性设置为该键的单字符字符串。如果使用大写字母,则 Shift 键会自动添加到功能键组中。
在 Mac OS X 上,默认功能键是 Command 键 (
Keyboard.COMMAND
)。在 Windows 和 Linux 中,是 Control 键 (
Keyboard.CONTROL
)。这些默认键会自动添加到功能键组中。若要分配其他功能键,请将包含所需键代码的新键组分配给
keyEquivalentModifiers
属性。默认键组将被覆盖。无论使用默认功能键还是分配自己的功能键组,如果分配给
keyEquivalent
属性的字符串是大写字母,则会添加 Shift 键。用于功能键的键代码的常量在 Keyboard 类中定义。
所分配的等效键字符串将自动显示在菜单项名称的旁边。格式取决于用户的操作系统和系统首选项。
注:
在 Windows 操作系统上,如果将
Keyboard.COMMAND
值分配给功能键组,则菜单中不显示等效键。但是,必须使用 Ctrl 键才能激活菜单命令。
以下示例分配
Ctrl+Shift+G
作为菜单项的等效键:
var item = new air.NativeMenuItem("Ungroup");
item.keyEquivalent = "G";
此示例通过直接设置功能键组将
Ctrl+Shift+G
分配为等效键:
var item = new air.NativeMenuItem("Ungroup");
item.keyEquivalent = "G";
item.keyEquivalentModifiers = [air.Keyboard.CONTROL];
注:
等效键仅为应用程序菜单和窗口菜单触发。如果将等效键添加到上下文或弹出菜单,则等效键将显示在菜单标签中,但永远不会调用关联的菜单命令。