可可定制形状跟踪区域

时间:2010-12-16 09:38:24

标签: cocoa macos macos-carbon

如何在可可中创建自定义形状的跟踪区域? 在可可中,我只能找到矩形作为跟踪区域。

Carbon通过HIViewNewTrackingArea提供了这项功能 任何HIShapeRef都可以注册为跟踪区域。我们在可可中有类似的东西吗?

我有一个复杂的形状,我想在不同的区域更改鼠标光标。

我尝试过的一种方法是制作一个覆盖整个区域的大型跟踪矩形,然后 使用mouseMoved事件更改光标。

你能否提出任何其他方法呢?

如果像可可中的HIViewNewTrackingArea这样的api会更容易。

感谢。

1 个答案:

答案 0 :(得分:3)

跟踪区域在Cocoa框架中只是矩形。你可以覆盖你的整个区域,然后创建一个NSBezierPath(你可以保留但不会中风或填充)并通过-containsPoint询问它是否在其中。:

跟踪区域“激活”鼠标跟踪,而路径提供自定义形状的命中检测机制。