应用程序菜单上下文中的助记符索引是什么?

时间:2016-03-07 03:50:29

标签: actionscript-3 air computer-science

我的应用程序顶部有一个菜单栏,每个菜单项都有一个名为mnemonic index的属性。它的值通常为-1。文档确实提供了任何帮助。什么是与菜单项相关的助记符索引及其用途是什么?

我正在从事的环境是Flex和Adobe AIR。它是NativeMenu和NativeMenuItem的属性。

1 个答案:

答案 0 :(得分:2)

助记符是单键,不与CTRL,ALT或SHIFT键组合使用,用于在打开的菜单中激活菜单命令。它们是Windows上包含下划线的菜单项中的字符,即R,G,B:

enter image description here

菜单项助记符仅与Windows相关,OS-X不支持菜单项中的助记符。

注意:我知道在Windows 7(及以下版本)上它们受支持,但不确定它们是否在Windows 8.1 / 10下得到支持(显示):

enter image description here

enter image description here

    var root:NativeMenu = new NativeMenu();
    var stackRoot:NativeMenuItem = root.addSubmenu(new NativeMenu(), "Stack");

    var stack:NativeMenu = new NativeMenu();
    stackRoot.submenu = stack;

    var overflow1:NativeMenuItem = new NativeMenuItem("Overflow1");
    overflow1.mnemonicIndex = 1;
    overflow1.keyEquivalent = "A";
    overflow1.addEventListener(Event.SELECT, selectCommand);
    stack.addItem(overflow1);

    var overflow2:NativeMenuItem = new NativeMenuItem("Overflow2");
    overflow2.mnemonicIndex = 2;
    overflow2.keyEquivalent = "B";
    overflow2.addEventListener(Event.SELECT, selectCommand);
    stack.addItem(overflow2);

    var overflow3:NativeMenuItem = new NativeMenuItem("Overflow3");
    overflow3.mnemonicIndex = 3;
    overflow3.keyEquivalent = "C";
    overflow3.addEventListener(Event.SELECT, selectCommand);
    stack.addItem(overflow3);

    if (NativeApplication.supportsMenu) {
        NativeApplication.nativeApplication.menu = root;
    } else {
        stage.nativeWindow.menu = root;
    }