Objective c 如何在自定义视图中设置光标?

Objective c 如何在自定义视图中设置光标?,objective-c,cocoa,macos,nsview,nscursor,Objective C,Cocoa,Macos,Nsview,Nscursor,我有一个自定义视图,需要根据鼠标的位置设置光标。我使用[NSCursor set]在mouseMoved:处理程序中设置光标。这在OSX10.5上有效,但大多数情况下不是在10.6上。有时光标会改变,但通常不会 问题是我必须设置光标以响应mouseMoved:事件,我无法注册光标矩形或使用NSTrackingArea和updateCursors:事件。我正在为NetSurf浏览器开发Cocoa前端。引擎期望前端出现鼠标移动事件。如果光标位于需要不同光标的链接或某物上,引擎将从前端调用函数来设置新

我有一个自定义视图,需要根据鼠标的位置设置光标。我使用
[NSCursor set]
mouseMoved:
处理程序中设置光标。这在OSX10.5上有效,但大多数情况下不是在10.6上。有时光标会改变,但通常不会

问题是我必须设置光标以响应
mouseMoved:
事件,我无法注册光标矩形或使用
NSTrackingArea
updateCursors:
事件。我正在为NetSurf浏览器开发Cocoa前端。引擎期望前端出现鼠标移动事件。如果光标位于需要不同光标的链接或某物上,引擎将从前端调用函数来设置新光标


关于如何在雪豹上进行此操作,您有什么想法吗?

通常,您应该使用CursorRects来避免其他视图更改光标。但由于您无法做到这一点,您可以通过在鼠标进入视图时在窗口级别禁用光标或鼠标来防止它们的干扰。鼠标退出视图时,启用窗口的后退光标或鼠标右键。

通常,应使用光标右键,以避免其他视图更改光标。但由于您无法做到这一点,您可以通过在鼠标进入视图时在窗口级别禁用光标或鼠标来防止它们的干扰。当鼠标退出视图时,启用窗口的后退光标。只需将NSCursor对象与推入式鼠标指针和弹出式鼠标指针和弹出式鼠标指针一起使用即可。

只需将NSCursor对象与推入式鼠标指针和弹出式鼠标指针一起使用即可。

您是否看到任何光标闪烁?光标是否会短暂改变?您能否开发一个示例应用程序来演示这个问题?(我可以在10.6上成功地使用[NSCursor set])可以调用其他函数来更改游标(例如不推荐使用的SetCursor),是否使用了其中的任何函数?我可能建议查看对[NSCursor set]的所有调用-查看(位置)当前代码如何知道何时以及更改到哪个光标?您是否看到任何光标闪烁?光标是否会短暂改变?您能否开发一个示例应用程序来演示这个问题?(我可以在10.6上成功地使用[NSCursor set])可以调用其他函数来更改游标(例如不推荐使用的SetCursor),是否使用了其中的任何函数?我可能建议查看对[NSCursor set]的所有调用—查看当前代码(位置)如何知道何时以及更改到哪个游标?