0

我想我会发布一个关于在可可应用程序中连续跟踪可可中的鼠标位置(在 OSX 10.5.8 中使用 xcode 3.1.4)的问题和答案。

这是一个自我回答的问题,因为我终于想通了,但在这里找不到我认为描述了我如何设法解决它的答案

可能有些人可能认为它比使用事件点击更容易加上没有 10.6 中的屏蔽功能,这很容易:)

4

2 回答 2

1

继承人我是怎么做到的。

首先这是我用来设置跟踪区域的代码:

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);
}

希望这个对你有帮助 :)

谢谢!

于 2012-08-07T12:18:13.740 回答
0

谢谢!我用 [NSEvent mouseLocation] 得到了全局鼠标坐标;

于 2012-12-21T08:14:52.120 回答