Cocoa 跟踪光标位置并返回鼠标相对于窗口的位置
我想我会在cocoa应用程序中发布一个关于在cocoa中连续跟踪鼠标位置的问答(在OSX 10.5.8中使用xcode 3.1.4) 这是一个自我回答的问题,因为我最终找到了答案,但在这里找不到一个我认为描述了我如何解决它的答案 可能有些人会认为这比使用10.6中没有屏蔽功能的event taps plus更简单:)我就是这样做的 首先,这是我用来设置跟踪区域的代码:Cocoa 跟踪光标位置并返回鼠标相对于窗口的位置,cocoa,user-interface,mouseevent,mousemove,Cocoa,User Interface,Mouseevent,Mousemove,我想我会在cocoa应用程序中发布一个关于在cocoa中连续跟踪鼠标位置的问答(在OSX 10.5.8中使用xcode 3.1.4) 这是一个自我回答的问题,因为我最终找到了答案,但在这里找不到一个我认为描述了我如何解决它的答案 可能有些人会认为这比使用10.6中没有屏蔽功能的event taps plus更简单:)我就是这样做的 首先,这是我用来设置跟踪区域的代码: NSTrackingArea* trackingArea = [ [ NSTrackingArea alloc] initWit
NSTrackingArea* trackingArea = [ [ NSTrackingArea alloc] initWithRect:[ mainWindow frame] options:(NSTrackingMouseMoved | NSTrackingActiveAlways ) owner:self userInfo:nil);
[container addTrackingArea:trackingArea];
创建主窗口时,我在设置所有内容时添加此消息:
[window setAcceptsMouseMovedEvents:YES];
在我要捕获事件的类的头文件中(对于我来说,它与我创建的跟踪区域在同一个类中),我将NSResponder子类化,然后实现我要捕获的事件(对于我来说,它是mouseMoved)
-(void) mouseMoved: (NSEvent *) thisEvent
{
NSPoint cursorPoint = [ thisEvent locationInWindow ];
NSLog(@"X coordinate is %f and Y coordinate is %f",cursorPoint.x,cursorPoint.y);
}
希望这能有所帮助:)
谢谢 谢谢!我得到了全局鼠标坐标
[n事件鼠标定位] 我遗漏的关键步骤是子类NSResponder:)请务必提及您遗漏的NSResponder子类。