電気ウナギ的○○

About Home

AIR アプリで Mac のメニューバーのみ表示する時は

shinoda (2010年11月18日 19:11)

AIR アプリでメニューバーを表示する場合、Mac OS X と、Windows や Unix(まあ、Unix の場合は Window Manager の役目だが)とで処理が異なる。

アプリケーション毎のメニューを、Mac OS X は画面上部のメニューバーに一元化しているが、Windows や Unix では Window 毎のウィンドウメニューバーに表示する。仕掛けがまったく違うわけだ。

ということで、Action Script では OS 毎の記述の違いをなるべく吸収しているが、メニューバーのセットについては、以下のように NativeApplication.supportsMenu が有効(Mac OS X)か、NativeWindow.supportsMenu(Windows や Unix)が有効かでメニューをセットする先がかわってくる。

        //================================================================
        // メニューバーセット
        //================================================================
        private function buildMenu():void {

            var root:NativeMenu = new NativeMenu();

            var item:NativeMenuItem = new NativeMenuItem("hogehoge");
            root.addItem(item);

            if (NativeApplication.supportsMenu) { // Mac OS X
                nativeApplication.menu = root;
            }
            else if (NativeWindow.supportsMenu) { // Windows
                nativeWindow.menu = root;
            }

        }

で、この場合、ウィンドウメニューバーを表示しないよう ADF ファイルでシステムクロームの設定を "none" にしていると、

Error: Illegal window settings. Window menus are only supported when systemChrome is set to "standard".

と怒られてしまう。

でも、Mac OS X の場合はメニューバーは必ず表示れているわけで、その内容だけは編集したい場合もあるだろう。
その時は、

        //================================================================
        // メニューバーセット
        //================================================================
        private function buildMenu():void {

            var root:NativeMenu = new NativeMenu();

            var item:NativeMenuItem = new NativeMenuItem("hogehoge");
            root.addItem(item);

            nativeApplication.menu = root; // Mac OS X

        }

これだけの記述で良い。

電気ウナギ的○○

電気ウナギ的○○

About Back

コメント(0)

電気ウナギ的○○

電気ウナギ的○○

About Back

トラックバック(0)

トラックバックURL: https://blog.netandfield.com/mt/mt-tb.cgi/1361

電気ウナギ的○○

About This Site

電気ウナギ的○○
岩国在住。広島で働く超零細IT企業社長のいわゆる社長日記。
何か、酒と食い物のことばかり書いているようで・・・お察しのとおり、肥満体です:-)


2011/06/24
iPhone用サイト公開

Create with jQuery, jQTouch.


CLOSE