2011-07-30 10 views
0

アプリケーションでは、メインアプリケーションの周りに「浮遊」しているいくつかの小さな非モーダルウィンドウを開くことができます。これらのウィンドウはそれぞれサイズ変更、移動などができます。メインアプリケーションウィンドウをクリックして前面に移動すると、小さな浮動ウィンドウも前面に表示します。ココアで子ウィンドウを前面に持っていく

"アプリケーションがアクティブになる"ときに私が追跡できるイベントはありますか? Windows上の同等のものはWM_ACTIVATEAPPメッセージですが、私はCocoaをどこで調べるかはわかりません。

答えて

1

アプリケーションがアクティブになると、アプリケーション代理人はapplicationDidBecomeActive:を受信します。デフォルトのXcodeテンプレートを使用している場合、あなたは既にアプリケーションデリゲートであるオブジェクトを持っているはずです。

2

NSPanel(ウィンドウの一種)を使用すると、この動作が無償で行われると思います。あなたのウィンドウがメインウィンドウをサポートしている場合(そして常にそれに付随すべきです)、それらは通常のウィンドウではなくパネルでなければなりません。アプリがアクティブな場合にのみ表示され、クラッタを減らすためにアプリにフォーカスがない場合には非表示になり、公開に参加しなくてもかまいません。

関連する問題