2009-12-10 17 views
6

durum çubuğu simgesine sol veya sağ tıklamayı nasıl algılayacağınızı ve hangi fare düğmesini (trackpad) tıklattığınıza bağlı olarak bir miktar işlem yapabilmenizi nasıl sağlayabilirsiniz?Objective-C: NSStatusBar sağ ve sol tıklama

kullandığım:

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

anda basıldığında fare düğmelerini algılamak için statusBar simgesini

cevap

13

oluşturmak için, [NSEvent pressedMouseButtons] kullanabilirsiniz.

Tıklanan durum çubuğu simgesini algılamak için, görünen menüyü belirleyebilirsiniz. Bir menü açılmadan hemen önce, delegesine bir menuWillOpen: mesajı gönderir (eğer varsa). Yani böyle bir şey uygulamak: Ben başka bir çözüm bulduk

[menu setDelegate:self]; 
3

tarafından da menü için temsilci belirlemesi gerekir

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

, örneğin, buraya bakın.

Cocoa: Right Click NSStatusItem

İlgili konular