如何在可可中创建自定义形状的跟踪区域?在可可中,我只能找到矩形作为跟踪区域 .
Carbon通过HIViewNewTrackingArea提供了这个功能,通过它可以将任何HIShapeRef注册为跟踪区域 . 我们在可可中有类似的东西吗?
我有一个复杂的形状,我想在不同的区域更改鼠标光标 .
我尝试过的一种方法是制作一个覆盖整个区域的大跟踪矩形,然后使用mouseMoved事件更改光标 .
你能建议其他方法吗?
如果像可可中的HIViewNewTrackingArea这样的api会更容易 .
谢谢 .
1 回答
跟踪区域在Cocoa框架中只是矩形 . 您可以覆盖整个区域,然后创建一个NSBezierPath(您可以保留但不会划线或填充)并通过-containsPoint:询问它是否在其中 .
跟踪区域“激活”鼠标跟踪,而路径提供自定义形状的命中检测机制 .