プログラマメモ2 - programmer no memo2

NSWindowでマウスイベントを受け取る 2011/01/13
2011/01/15

NSWindowでマウスイベントを受け取ります。
NSWindowを継承して、NSResponderに定義してあるのを適当に実装。
とれないイベントがあるんだよね...
どうとるんだろう。

追記:mouseMovedは、setAcceptsMouseMovedEventsにYESを設定でOK。


#import "MyWindow.h"


@implementation MyWindow

- (void) mouseDown:(NSEvent *)event {
NSLog(@"%s", __PRETTY_FUNCTION__);
}
- (void) mouseDragged:(NSEvent *)event {
NSLog(@"%s", __PRETTY_FUNCTION__);
}
- (void) mouseUp:(NSEvent *)event {
NSLog(@"%s", __PRETTY_FUNCTION__);
}


/**
このイベントはNSWindowではどうとるのだろう?
mouseEntered,mouseExited
*/
- (void) mouseMoved:(NSEvent *)event {
NSLog(@"%s", __PRETTY_FUNCTION__);
}
- (void) mouseEntered:(NSEvent *)event {
NSLog(@"%s", __PRETTY_FUNCTION__);
}
- (void) mouseExited:(NSEvent *)event {
NSLog(@"%s", __PRETTY_FUNCTION__);
}


- (void) rightMouseDown:(NSEvent *)event {
NSLog(@"%s", __PRETTY_FUNCTION__);
}
- (void) rightMouseDragged:(NSEvent *)event {
NSLog(@"%s", __PRETTY_FUNCTION__);
}
- (void) rightMouseUp:(NSEvent *)event {
NSLog(@"%s", __PRETTY_FUNCTION__);
}
- (void) otherMouseDown:(NSEvent *)event {
NSLog(@"%s", __PRETTY_FUNCTION__);
}
- (void) otherMouseDragged:(NSEvent *)event {
NSLog(@"%s", __PRETTY_FUNCTION__);
}
- (void) otherMouseUp:(NSEvent *)event {
NSLog(@"%s", __PRETTY_FUNCTION__);
}

@end


参考
マウスイベントを処理するCocoaアプリケーションにしてみる - ザリガニが見ていた...。

: