ステータス バー アイコンがあり、右クリック メニューを追加しようとしています。
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];