指定菜单等效键

Adobe AIR 1.0 和更高版本

可以为窗口或应用程序的菜单命令指定等效键(有时称为快捷键)。当按下键或组合键时,NativeMenuItem 将调度 select 事件,并调用在数据源中指定的任何 onSelect 事件处理函数。行为与用户选择菜单项相同。

有关菜单等效键的完整详细信息,请参阅 本机菜单命令的等效键 (AIR)

通过使用 MenuBuilder 框架,可以在数据源的相应节点中指定菜单项的等效键。如果数据源有 keyEquivalent 字段,则 MenuBuilder 框架使用该值作为等效键字符。

还可以指定作为等效组合键的一部分的功能键。若要添加功能键,请将 altKey ctrlKey cmdKey shiftKey 字段指定为 true 。所指定的一个或多个键将成为等效组合键的一部分。默认情况下,对 Windows 指定 Ctrl 键,对 Mac OS X 指定 Command 键。若要覆盖此默认行为,请包括设置为 false defaultKeyEquivalentModifiers 字段。

以下示例显示基于 XML 的菜单数据源(在名为“keyEquivalentMenu.xml”的文件中包含等价键)的数据结构:

<?xml version="1.0" encoding="utf-8" ?> 
<root> 
    <menuitem label="File"> 
        <menuitem label="New" keyEquivalent="n"/> 
        <menuitem label="Open" keyEquivalent="o"/> 
        <menuitem label="Save" keyEquivalent="s"/> 
        <menuitem label="Save As..." keyEquivalent="s" shiftKey="true"/> 
        <menuitem label="Close" keyEquivalent="w"/> 
    </menuitem> 
    <menuitem label="Edit"> 
        <menuitem label="Cut" keyEquivalent="x"/> 
        <menuitem label="Copy" keyEquivalent="c"/> 
        <menuitem label="Paste" keyEquivalent="v"/> 
    </menuitem> 
</root>

以下示例应用程序从“keyEquivalentMenu.xml”加载菜单结构,并使用它作为应用程序的窗口菜单或应用程序菜单的结构:

<html> 
    <head> 
        <title>XML-based menu with key equivalents example</title> 
        <script type="text/javascript" src="AIRAliases.js"></script> 
        <script type="text/javascript" src="AIRMenuBuilder.js"></script> 
    </head> 
    <body> 
        <script type="text/javascript"> 
            // Create a NativeMenu from "keyEquivalentMenu.xml" and set it 
            // as the application/window menu 
            var keyEquivMenu = air.ui.Menu.createFromXML("keyEquivalentMenu.xml"); 
            air.ui.Menu.setAsMenu(keyEquivMenu); 
        </script> 
    </body> 
</html>