2012-01-21 10 views
0

アイコンを表示するだけのNSStatusItemを持つ単純なアプリケーションがあります。カスタム表示なしのNSStatusItem用のMAAttachedWindow

MAAttachedWindowをNSStatusItemの下に表示する機能を追加したいと思います。

Matt Gemmelが提供したデモコードを見ました。彼はMAAttachedWindowがNSStatusItemの下に表示させるために使用するコードは次のとおりです。

NSRect frame = [[self window] frame]; 
NSPoint pt = NSMakePoint(NSMidX(frame), NSMinY(frame)); 
[controller toggleAttachedWindowAtPoint:pt]; 

上記NSStatusItemのカスタムビューで行われます。ただし、私のNSStatusItemにはカスタム表示がありません。私の場合、MAAttachedWindowを追加するにはどうしたらいいですか?

答えて

0

あなたはafaikできません。あなたは、ウィンドウを添付する座標を取得する方法を持っている必要があり、私はそれを動作させることができる唯一の方法は、カスタムビューを使用するので、マウスの座標を取得することができます唯一の方法は、表示されているのはあなた自身のビューを使用することです。カスタム表示なしでステータス項目のビューを取得する方法がいくつかあり、MSAttachedWindowとメニューを表示するのが得策でない場合を除き、それ以外のものはおそらくちょっとハッキリでしょう。

カスタムビューでNSStatusitemを実行し、選択したときに背景グラデーションを描画して選択を偽装したところで解決しました。

+0

ステータス項目には、ドキュメント化されていない - (NSWindow *)_ウィンドウを使用できます。ただし、ストアに送信する予定はないことを前提としています。 –

0

NSPopoverの使用を検討しましたか?

関連する問題