Hello,
I am trying to create a simple NSControl sub-class that will respond to mouse 
clicks and key presses, however I cannot get it to take First Responder status 
despite having over-ridden acceptsFirstResponder to return YES. If I place 
breakpoints in acceptsFirstResponder and becomeFirstResponder then 
acceptsFirstResponder is called, returns YES, but becomeFirstResponder never 
gets called and so the class never receives a keyDown message. Mouse-down 
messages are received correctly. My current implementation is below, am I 
missing something simple?
Thanks in advance,
Toby Wood

@implementation testControl
+ (Class)cellClass
{       return [NSActionCell class];    }

- (BOOL)acceptsFirstResponder
{       return YES;     }

- (BOOL)becomeFirstResponder
{
        [super becomeFirstResponder];
        NSLog(@"Became first responder.");
        return YES;
}

- (void)drawRect:(NSRect)dirtyRect {
   // Drawing code here.
        NSRect bounds = [self bounds];
        [[NSColor whiteColor] set];
        [NSBezierPath fillRect:bounds];
}

- (void)keyDown:(NSEvent *)theEvent
{       NSLog(@"Got a key.");   }

- (void)mouseDown:(NSEvent *)theEvent
{
        NSLog(@"Got a mouse down.");
        [NSApp sendAction:[self action] to:[self target] from:self];
}
@end_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to