2009-12-10 16 views
6

cómo detectar el clic izquierdo o derecho en el icono de la barra de estado, y luego realizar alguna acción, dependiendo de qué botón del mouse (panel táctil) se hizo clic?Objetivo-C: NSStatusBar derecha e izquierda, haga clic en

que utilizo:

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

Para generar icono de la barra de estado

Respuesta

13

Para detectar los botones del ratón que se presionan en la actualidad, se puede utilizar [NSEvent pressedMouseButtons].

Para detectar el icono de la barra de estado al que se hace clic, puede detectar el menú que aparece. Justo antes de abrir un menú, envía un menúWillOpen: mensaje a su delegado (si tiene uno). Así que implementar algo como esto:

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

También tendrá que configurar el delegado para el menú, por ejemplo, por

[menu setDelegate:self]; 
Cuestiones relacionadas