私は小さなプロジェクトを Mac に移植する必要がある .Net 開発者なので、Objective C についてほとんど何も知りません。
左クリックまたは右クリック/ctrl + クリックに応じて、1 つまたは別のウィンドウを開くステータス メニュー プログラムを構築しようとしています。これが私が持っているもので、左クリックでのみ機能します(明らかに):
-(void) awakeFromNib{
NSBundle *bundle = [NSbundle mainBundle];
statusItem = [[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] retain];
[statusImage = [[NSImage alloc] initWithContentsOfFile:[bundle pathForResource:@"icon" ofType:@"png"]];
[statusItem setImage:statusImage];
[statusItem setToolTip:@"Program Name"];
[statusItem setHighlightMode:YES];
[statusItem setAction:@selector(openWin:)];
[statusItem setTarget: self];
}
-(void)openWin:(id)sender{
[self openLeftWindow:sender];
}
-(IBAction)openLeftWindow:(id)sender{
//Code to populate Left Click Window
[leftWindow makeKeyAndorderFront:nil];
}
-(IBAction)openRightWindow:(id)sender{
//Code to populate Right Click Window
[rightWindow makeKeyAndorderFront:nil];
}
解決策は、openWin() 関数の if ステートメントを使用して、どのボタンがクリックされたか (または ctrl が押されているか) を判断してから、適切なコードを実行するか、メニューに左右の両方を認識させるように思われます。クリックします。しかし、私がそうしようとしたとき、これらのどちらも機能しませんでした。
前もって感謝します。