2009-09-14 14 views
7

私はNSStatusBarに存在する小さなアプリケーションを書いています。ヒットすると、スポットライトの動作とまったく同じように、メニューバーのコンテンツが表示されるグローバルなショートカットを作成したいと考えています。 私はアプリケーションにグローバルキーショートカットを追加しましたが、表示するにはmeun barを取得できません。これどうやってするの?私は "popUpContextMenu"で試しましたが、そのメソッドは左下隅にメニューを表示します。NSStatusBarメニューアイコンの下にメニューを開くようにします。どのようにプログラムでNSMenuを表示しますか?

答えて

0

ステータス項目のクリックをシミュレートするためにアクセシビリティフレームワークを使用しないと、これを行うためのサポートされている方法はないと思います。それにかかわらず、この方法でメニューを悪用することはおそらく良い考えではありません。

Spotlightメニューバー項目はNSMenuを使用せず、カスタムウィンドウ/ビューを使用します。表示するカスタム表示の種類がある場合は、このルートを検討することもできます。

+0

本当ですか?アクセシビリティインスペクタは、AXMenuItemが入っているAXMenuだと言っていますが、私はそれを再実装したいとは思っていません。メニューは同じように2回作業するには手間がかかります。 –

+0

私は虐待と見なされているとは思わない、私はヘルプとスポットライトと全く同じ機能を持ちたいと思う。可能であれば、nsmenuを使用せずにそれを行うことができます。私は彼らがnsmenuも使用していると思っていました。 –

5

あなたはそれを行うことができます、リンゴはそれのための方法を提供します "popUpStatusItemMenu"

+2

http://developer.apple.com/mac/library/documentation/Cocoa/Reference/ApplicationKit/Classes/NSStatusItem_Class/Reference/Reference.html#//apple_ref/occ/instm/NSStatusItem/popUpStatusItemMenu: –

+0

見つけた1つの問題あなたがそれをクリックしたときにスポットライトのようなメニューバーのアイコンを強調表示しないことです。 –

関連する問題