私は、左クリックと右クリックを持つステータスバーアプリケーションに取り組んでいます。私は他のポストのヒントに従うことでこの作業を開始しましたが、右クリックでメニューを表示する方法についてはわかりません。NSStatusItem右クリックメニュー
私は私のNSStatusItemのカスタムビューとしてサブクラスのNSViewを使用して、右と異なる機能を実行し、左クリックを持つ:
- (void)mouseDown:(NSEvent *)theEvent{
[super mouseDown:theEvent];
if ([theEvent modifierFlags] & NSCommandKeyMask){
[self.target performSelectorOnMainThread:self.rightAction withObject:nil waitUntilDone:NO];
}else{
[self.target performSelectorOnMainThread:self.action withObject:nil waitUntilDone:NO];
}
}
- (void)rightMouseDown:(NSEvent *)theEvent{
[super rightMouseDown:theEvent];
[self.target performSelectorOnMainThread:self.rightAction withObject:nil waitUntilDone:NO];
}
私は、右クリックのメニュー、標準NSStatusItem同じように表示することができますどのように左クリックしますか?
あなたの答えについての素晴らしいことは、それは私の全く関係のない質問を解決したことです:)ありがとう。 NSStatusItemにメニューが設定されている場合、アクションはターゲット上で呼び出されません。したがって、NSMenuを設定することはできませんでした。その後、popUpStatusItemMenuメソッドを使用してメニューを表示します:) – Mazyod