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