gpt4 book ai didi

cocoa - 自定义 NSCursor 并不适用于所有应用程序

转载 作者:行者123 更新时间:2023-12-03 16:15:54 25 4
gpt4 key购买 nike

我编写了一个 Cocoa 程序来在按下按钮后更改光标。具体地,光标包括图像而不是指针。我使用以下命令设置它:

NSImage *tmpImage = [NSImage imageNamed:@"pointer"];
NSCursor *pointer = [[NSCursor alloc] initWithImage:tmpImage hotSpot:NSMakePoint(10.0, 10.0)];
[pointer set];

这有效并且光标改变正确。但是,此更改并不适用于所有应用程序。例如,当我在幻灯片模式下切换到 Keynote 演示文稿时,光标会变回箭头。当我切换到 PDF 全屏显示进行演示时,光标变为手形(我相信这些是各个应用程序设置的默认光标)。

我的问题是:有什么方法可以覆盖这些并只为所有应用程序保留我的自定义光标?即使在 Keynote 幻灯片放映和 PDF 全屏 View 期间,我也想保留更改后的光标。有什么想法吗?

谢谢!

最佳答案

无法更改其他应用程序的光标,至少不能使用公共(public) API。

做到这一点的唯一方法是创建一个自定义的无边框窗口,它只显示光标的图像,然后使用 CoreGraphics API 隐藏光标,并随着鼠标移动而简单地移动窗口。这大概就是 Apple 制作可在辅助功能系统首选项中打开的大光标的方式。

关于cocoa - 自定义 NSCursor 并不适用于所有应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6968795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com