mouseDown Event auf NSMenu

MichaHo

MichaHo

Aktives Mitglied
Thread Starter
Dabei seit
09.11.2010
Beiträge
121
Reaktionspunkte
8
Hallo,

ich habe eine kleine App, die lediglich aus einem StatusbarItem besteht (NSMenu).

anstatt bei klick ein Menü mit menüpunkten anzuzeigen, hätte ich gerne, das bei Linksclick ein event ausgelöst wird und bei rechts klick ein anderes.

irgendwie raff ich das leider nicht (bin auch eigentlich noch blutiger Anfänger)...

Mein App hat auch keinerlei Windows (Views) lediglich das Statusbaritem...

hier mal die .h Datei:

Code:
#import <Cocoa/Cocoa.h>

@interface AppDelegate : NSObject <NSApplicationDelegate>{
    IBOutlet NSMenu *MonSleepMenu;
    NSStatusItem *MonSleepMenuItem;
    NSImage *MonSleepImage;
    NSBundle *MonSleepBundle;
          
}
-(void)mouseDown:(NSEvent *)theEvent;
-(void)rightMouseDown:(NSEvent *)theEvent;

@end

und die .m Datei:

Code:
#import "AppDelegate.h"


@implementation AppDelegate
   



- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
    NSBundle *bundle = [NSBundle mainBundle];
    
    MonSleepMenuItem = [[NSStatusBar systemStatusBar]statusItemWithLength:NSVariableStatusItemLength];
    MonSleepImage = [[NSImage alloc] initWithContentsOfFile:[bundle pathForResource:@"MonSleepMenu" ofType:@"png"]];
    [MonSleepMenuItem setMenu:MonSleepMenu];
    [MonSleepMenuItem setHighlightMode:YES];
    [MonSleepMenuItem setImage:MonSleepImage];
}
- (void)mouseDown:(NSEvent *)theEvent{
    NSLog(@"links gedrückt");
    }

- (void)rightMouseDown:(NSEvent *)theEvent{
    NSLog(@"rechts gedrückt");
   
}

@end

könnte mir bitte jemand erklären, wie ich das realisiert bekomme?

Vielen Dank

Grüße

Michael
 
Zurück
Oben Unten