我目前正在学习目标c,我正在尝试编写一些简单的应用程序来帮助我学习。现在,我正在尝试创建一个应用程序,让我可以在屏幕上的任何位置测量某个区域。 (类似于:https://addons.mozilla.org/de/firefox/addon/measureit/)
为了实现这一点,我需要知道如何在屏幕上的任何位置更改光标,不仅仅是在某个窗口内(我已经开始工作了)。
目前我有一个名为“MyCustomView”的类,它被分配到我的主窗口视图。我实现了resetCursorRects方法,如下所示:
- (void) resetCursorRects {
[super resetCursorRects];
NSCursor *myCursor = [NSCursor crosshairCursor];
CGRect screenRect = [[NSScreen mainScreen] frame];
[self addCursorRect:screenRect cursor:myCursor];
}
它成功地将我的光标更改为十字准线,但仅在当前窗口内。我想让我的光标改变所有的屏幕。我怎么能做到这一点?
谢谢你的帮助,伙计们!
答案 0 :(得分:1)
您可以创建NSCursor实例,然后调用set
方法
[[[NSCursor alloc] initWithImage:[NSImage imageNamed:@"myCursor.png"] hotSpot:NSZeroPoint] set]
但是其他窗口会改变它,所以我认为你需要一个覆盖所有屏幕的0.0不透明度的窗口。
您可以通过设置窗口级别来完成。 [window setLevel:NSScreenSaverWindowLevel]