0

ステータス バー アイコンがあり、右クリック メニューを追加しようとしています。

   statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] retain];       
   MyView *view = [MyView new];
   view.image = statusImage;
   [statusItem setView:view];
   [statusItem setToolTip:@"Program Name"];
   view.target = self;
   view.action = @selector(openLeftWindow:);
   view.rightAction = @selector(openRightWindow:);

他のビューではNSStatusBar、左または右のボタンで押されたかどうかを取得できます。そして、右クリックイベントで追加しようとしていNSMenuます。次のようなメニューを追加できると思います。

[statusItem setMenu:theMenu];

しかし、statusItem がないため、できません。私はこれに非常に慣れていないので、これを行う正しい方法でさえないかもしれません。

編集:どういうわけか、メニューを表示することができました。これが正しい方法かどうかはわかりませんが、次のように statusItem をカスタム ビューに割り当てるだけでした。

view.statusItem = statusItem;

これをカスタム ビュー ヘッダー ファイルに追加しました。

@property NSStatusItem *statusItem;

次のようなメニューを表示します。

[self.statusItem popUpStatusItemMenu:theMenu];
4

1 に答える 1