SystemTrayIcon、DockIcon にメニューを作っていて
なぜかMacのDockIconのほうでメニューが表示されなくてはまったのでメモ。
Windows(SystemTrayIcon)のほうでは問題ない状況なのに、
Macintosh(DockIcon)でDockIcon.menu で当てた NativeMenuが表示されなくて
調べてみたところ、どうやら、
メインのNativeWindowをactivate()していないことが問題だった?みたいです。
Windowsでいうところの タスクバーにアプリケーションのタブが表示されないタイプの
アプリケーションを作っているのですが、
そのため、メインのNativeWindowはactivate()してませんでした。
で、メインの NativeWindowをactivate() することで
DockIcon.menuに当てた NativeMenuが表示されるようになりました。
当然、メインのNativeWindowが表示されるようになってしまったので
visible = false を設定します。
activate() しても visible = false を設定すれば
Windowsの場合でも、タスクバーにアプリケーションのタブが表示されないようなので
特にOSで処理分けるの必要もなさそうです。
activateの部分、すぐにvisible = false しても
実行した瞬間ちょっとパッとウィンドウが表示されてしまうようなので
位置を画面外に持っていってからやったほうがいいかもしれません。
Actionscript:
-
this.stage.nativeWindow.x = - this.stage.nativeWindow.width;
-
this.stage.nativeWindow.activate();
-
this.stage.nativeWindow.visible = false;
7月 12, 2009 at 11:19 PM




私をフォローしてください. @quqjp





