2011-07-11 4 views
0

MAAttachedWindowをユーザーがクリックしたときに非表示にする方法については、このサイトの記事を読んでいます。このポストでは、MAAttachedWindowとstatusItemを併用しています。 Hide MAAttachedWindow when clicking outside。 キー状態を終了するときにウィンドウを非表示にする必要があります。MAAttachedWindowをNSMenuのように動作させる

しかし、ウィンドウのキーステータスの代わりに他の方法があるのだろうかと思います。 ウィンドウがキー状態を辞退したときに通知を受け取るには、他のすべてのアプリケーションが以前に無視されていなければなりません(つまり、他のすべてのアプリケーションのウィンドウは非アクティブになり、色が失われます)。 [NSApp activateIgnoringOtherApps:YES]によってstatusMenuが表示されます。 SpotlightまたはAirport-statusItemを使用すると、通常これは起こりません。ユーザーはこれを期待しません。

誰かがMAAttachedWindowを実際のNSMenuのように動作させましたか?この問題を起こさずにキー状態で作業する方法はまだありますか?何かヒントありがとうございます。

答えて

0

[NSApp activateIgnoringOtherApps:YES]を使用せずにNSPanelをアクティブにすることができます。次のようにNSNonactivatingPanelMaskを使用してください:

NSPanel *panel = [super initWithContentRect:NSZeroRect 
               styleMask: NSNonactivatingPanelMask 
               backing:NSBackingStoreBuffered 
                defer:NO]; 
関連する問題