NSMenuItem event

Sojus

Aktives Mitglied
Thread Starter
Dabei seit
30.05.2006
Beiträge
144
Reaktionspunkte
3
Hallo Macuser

Ich bin gerade dabei Cocoa zu lernen. Ich möchte eigentlich ein Dynamisches menu erstellen (ohne IB), und die Events selber deklarieren.

Also so siehts aus:

Code:
#import <Cocoa/Cocoa.h>

@interface MyObject : NSObject
{
    IBOutlet id menu;
}
-(void)awakeFromNib;
-(void)test;
@end


#import "MyObject.h"

@implementation MyObject
-(void)awakeFromNib
{
	NSMenuItem *item = [menu addItemWithTitle:@"asd" action:@selector(test:) keyEquivalent:@""];
	[item setTarget:self];
}
-(void)test
{
	NSLog(@"juhu");
}
@end

Das ist meine Klasse, die ich im IB erstellt habe. Sie hat ein Outlet zu einem NSMenu Objekt. Was ich eigentlich versucht habe ist dem NSMenu ein NSMenuItem hinzu zu fügen und dann beim klick auf das Item eine methode aufzurufen. Habe dazu action und target definiert (so wie ich es verstanden habe). Das problm ist jedoch, dass es nicht funktioniert. Das MenuItem ist immer noch grau und ich kann es nicht auswählen.


Habe ich das mit action und target völig falsch verstanden oder wo leigt der Fehler?

mfg

PS: Kann ich auch ein mouse over auf einem MenuItem oder Tastatureingabe abfangen?
 
hat das noch nie jemand gemacht?
 
Die Signatur von Test ist falsch. Es muss

Code:
-(void)test:(id)sender

heissen, auch wenn dich der Sender nicht interessiert - er findet sonst die Methode nicht.

Gremlin
 
*ausprobier*

es funktioniert

danke für deine Hilfe :D
 
Zurück
Oben Unten