Как открыть меню автоматически с помощью ярлыка? - PullRequest
0 голосов
/ 24 марта 2010

У меня есть панель меню, которая содержит общие пункты меню, такие как Файл, Вид, Инструменты, Справка. У меня есть подпункты в каждом из этих пунктов меню. Проблема в том, что я хочу открыть меню «Файл» автоматически, когда я нажимаю Alt + F. Я мог бы захватить ключевые события на виде.

Но как открыть меню «Файл» на панели меню (какую функцию нужно вызывать из класса MenuBar для вызова этих пунктов подменю)? Я искал некоторую информацию в Google .. но Cudnt найти. или, если у вас есть какое-то лучшее решение или пример ... пожалуйста, опубликуйте его.

<root>
    <menuitem label="File">
        <menuitem label="New" enabled="false"/>
        <menuitem label="Open.." enabled="false"/>
        <menuitem label="Save" enabled="false"/>
        <menuitem label="Restore" enabled="false"/>
        <menuitem label="Print" enabled="true"/> 
        <menuitem type="seperator" enabled="false"/> 
        <menuitem label="Exit" enabled="true"/>    
    </menuitem> 
    <menuitem label="View" accesskey="v">
        <menuitem label="Zoom In" enabled="true" maxValue="200"/>
        <menuitem label="Zoom Out" enabled="true" maxValue="25"/>
    </menuitem>       
    <menuitem label="Tools" enabled="false">
        <menuitem label="item1" enabled="false"/>
        <menuitem label="item2" enabled="false"/>
    </menuitem> 

</root>

Заранее спасибо:)

Sriss

Ответы [ 3 ]

1 голос
/ 14 октября 2010

Чтобы открыть меню на его позиции:

var fileMenu:Menu = mnuBar.getMenuAt(0);
pnt : Point = new Point(mnuBar.x,mnuBar.y + mnuBar.height);
pnt = localToGlobal(pnt);
fileMenu.show(pnt.x,pnt.y);  
0 голосов
/ 09 мая 2014

Это поддельное меню!

Лучший способ сделать это:

e.preventDefault();     // will play against pressed ESC, too
menuBar.setFocus();
menuBar.dispatchEvent(new KeyboardEvent(KeyboardEvent.KEY_DOWN, false, false, 0, Keyboard.RIGHT));
0 голосов
/ 24 марта 2010

Я решил это:)

var fileMenu: Menu = myMenuBar.getMenuAt (0);

fileMenu.show ();

Работает, но теперь проблема в том, что ... подменю появляется в (0,0) месте приложения, а не в файле.

...