Tôi là một nhà phát triển .Net, những người cần chuyển một dự án nhỏ sang Mac, vì vậy tôi không biết gì về Objective C. Thực tế đoạn mã dưới đây chỉ là một nắm bắt vào ống hút và chụp bóng tối.Ca cao: Nhấn chuột phải vào NSStatusItem
Cố gắng tạo chương trình Trình đơn trạng thái mở một cửa sổ hoặc cửa sổ khác tùy thuộc vào đó là nhấp chuột trái hay nhấp chuột phải/ctrl + nhấp chuột. Đây là những gì tôi có, và nó hoạt động cho nhấp chuột trái chỉ (rõ ràng):
-(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];
}
Dường như với tôi rằng giải pháp sẽ là hoặc là một câu lệnh if trong openWin() chức năng để xác định nút mà được nhấp (hoặc nếu ctrl được giữ lại) sau đó chạy mã thích hợp hoặc để làm cho trình đơn nhận thức được cả nhấp chuột trái và phải. Nhưng không ai trong số này đã làm việc khi tôi cố gắng làm như vậy.
Cảm ơn trước.
Tôi giả định nó chỉ là một lỗi đánh máy mà cả openLeftWindow: và openRightWindow: phương pháp làm điều tương tự. Nếu không, câu hỏi này sẽ là vô ích. – ughoavgfhw
đúng, họ làm những việc khác nhau. Xin lỗi về lỗi đánh máy – Dan