Flex/AIRでアプリを作る際に、ネイティブなメニューを作成する方法。
WindowsではWindow毎にメニューが存在するため、NativeWindow.supportsMenuの値がtrueになります。逆にMacではNativeApplication.supportsMenuがtrueになります。これを利用してNativeMenuのインスタンスを用意します。
//Windowsの場合 if(NativeWindow.supportsMenu) { var _menu:NativeMenu = new NativeMenu(); } //Macの場合 if(NativeApplication.supportsMenu) { var _menu:NativeMenu = NativeApplication.nativeapplication.menu; }
OSXではnativeapplication.menuを利用した場合に、デフォルトで用意される項目があります。よく使う「ファイル」や「編集」ですね。
この既存のメニューに項目を追加します。上記の方法でNativeMenuを用意した後で
var _item:NativeMenuItem = new NativeMenuItem("ほげほげ"); _menu.getItemAt(0).submenu.addItemAt(_item, 2);
とすると
となります。