2009-12-10 37 views
6

cách phát hiện nhấp chuột trái hoặc phải trên biểu tượng thanh trạng thái và hơn là thực hiện một số hành động, tùy thuộc vào nút chuột (bàn di chuột) được nhấp vào?Objective-C: NSStatusBar phải và trái nhấp chuột

tôi sử dụng:

_statusItem = [[[NSStatusBar systemStatusBar] statusItemWithLength:NSSquareStatusItemLength] retain]; 
    [_statusItem setMenu:menu]; 
    [_statusItem setHighlightMode:YES]; 

Để tạo biểu tượng Statusbar

Trả lời

13

Để phát hiện các nút chuột hiện đang ép, bạn có thể sử dụng [NSEvent pressedMouseButtons].

Để phát hiện biểu tượng thanh trạng thái đang được nhấp, bạn có thể phát hiện menu xuất hiện. Ngay trước khi một trình đơn mở ra, nó sẽ gửi một menuWillOpen: message tới đại biểu của nó (nếu nó có một). Vì vậy, thực hiện một cái gì đó như thế này:

- (void)menuWillOpen:(NSMenu *)menu 
{ 
    NSLog(@"%d",[NSEvent pressedMouseButtons]); 
} 

Bạn cũng sẽ cần phải thiết lập các đại biểu cho menu, ví dụ bằng cách

[menu setDelegate:self]; 
Các vấn đề liên quan