如何更改整个屏幕上的光标?(不仅仅是当前视图/窗口) [英] How do I change my cursor on the whole screen? (not only current view/window)

查看:120
本文介绍了如何更改整个屏幕上的光标?(不仅仅是当前视图/窗口)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在学习目标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]

这篇关于如何更改整个屏幕上的光标?(不仅仅是当前视图/窗口)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆