这里是我的代码:可可keydown事件不会调用
#import <Cocoa/cocoa.h>
#import <AppKit/AppKit.h>
@interface OGLView: NSOpenGLView{}
@end
@implementation OGLView
- (void)keyDown:(NSEvent *)event {
NSLog(@"Hi there");//never called
}
- (BOOL)acceptsFirstResponder{return YES;}
- (BOOL)becomeFirstResponder{return YES;}
- (BOOL)resignFirstResponder{return YES;}
- (BOOL)canBecomeKeyView { return YES; }
@end
int main(int argc, char* args[]){
NSWindow *win = nil;
NSRect e = [[NSScreen mainScreen] frame];
win = [ [NSWindow alloc]
initWithContentRect: e
styleMask: NSTitledWindowMask
|NSClosableWindowMask
|NSMiniaturizableWindowMask
backing: NSBackingStoreBuffered
defer: NO ];
view =[[[OGLView alloc] initWithFrame:e]
autorelease];
[win orderFrontRegardless];
[win setReleasedWhenClosed:YES];
[win setContentView:view];
[win setInitialFirstResponder:view];
[win setNextResponder:view];
[win makeFirstResponder:view];
[win setAcceptsMouseMovedEvents:YES];
[view setNeedsDisplay:YES];
[view display];
}
难道我必须创建NSResponder类subcalss?或者NSCOntroller?我怎样才能将这个子类连接到我的OGLView?请帮助..我是Objective-C的新手。另外我在Eclipse上编程(不是Xcode)