Щелкните правой кнопкой мыши Menulet ObjC

Мне удалось создать небольшое приложение Menubar с помощью ApplescriptObjC, и оно работает просто отлично, отображается меню, и я также могу использовать различные значки. Теперь я пытался различить правый и левый щелчки, чтобы вызвать различные действия в зависимости от нажатой кнопки. Что я хотел бы сделать, это отобразить меню, когда нажата правая кнопка мыши, а когда нажата левая, вызвать обработчик, например:

on leftButtonPressed_(sender)
    display dialog "Left Button Pressed!"
end leftButtonPressed_

В конце концов это будет заменено чем-то более сложным. До сих пор я создавал собственный класс со всем кодом ObjC, необходимым для работы приложения Menubar. вот:

MenuBarAppAppDelegate.h:

#import <Cocoa/Cocoa.h>

@interface MenuBarAppAppDelegate : NSObject {
     NSMenuItem *MenuItem;
     IBOutlet NSMenu *statusMenu;

     NSStatusItem *statusItem;
     NSImage *menuIcon;
     NSImage *menuIconActive;
}
@end

MenuBarAppAppDelegate.m

#import "MenuBarAppAppDelegate.h"



@implementation MenuBarAppAppDelegate
-(void)dealloc
{
    [menuIcon release];
    [menuIconActive release];
    //[statusItem release];
    [super dealloc];
}

- (void)awakeFromNib
{
    statusItem = [[[NSStatusBar systemStatusBar]
                   statusItemWithLength:NSVariableStatusItemLength]
                  retain];

    NSBundle *bundle = [NSBundle bundleForClass:[self class]];

    menuIcon= [[NSImage alloc] initWithContentsOfFile:[bundle pathForResource:@"Icon1a" ofType:@"png"]];

    menuIconActive= [[NSImage alloc] initWithContentsOfFile:[bundle pathForResource:@"Icon2a" ofType:@"png"]];

    [statusItem setImage:menuIcon];
    [statusItem setTitle:@""];
    [statusItem setHighlightMode:YES];
    [statusItem setEnabled:YES];
    [statusItem setToolTip:@"Togglr"];
    [statusItem setMenu:statusMenu];


}






-(void)actMenuIcon{
    NSBundle *bundle = [NSBundle bundleForClass:[self class]];
    menuIcon= [[NSImage alloc] initWithContentsOfFile:[bundle pathForResource:@"AppleLogoFullBlack" ofType:@"png"]];
    menuIconActive= [[NSImage alloc] initWithContentsOfFile:[bundle pathForResource:@"AppleLogoFullWhite" ofType:@"png"]];



    [statusItem setImage:menuIcon];
    [statusItem setAlternateImage:menuIconActive];
    [statusItem setHighlightMode:YES];
}
-(void)desMenuIcon{

    NSBundle *bundle = [NSBundle bundleForClass:[self class]];
    menuIcon= [[NSImage alloc] initWithContentsOfFile:[bundle pathForResource:@"AppleLogoEmptyBlack" ofType:@"png"]];
    menuIconActive= [[NSImage alloc] initWithContentsOfFile:[bundle pathForResource:@"AppleLogoEmptyWhite" ofType:@"png"]];

    [statusItem setImage:menuIcon];
    [statusItem setAlternateImage:menuIconActive];
    [statusItem setHighlightMode:YES];
}

@end

Моя проблема сейчас в том, что я понятия не имею, как на самом деле перехватить правый и левый щелчок мыши и как связать его с обработчиком appleScript. Может кто-нибудь мне помочь???

Заранее спасибо!

0 ответов

Другие вопросы по тегам