itok's Lab

昔の開発ネタを記録として残してます

領域ごとにマウスカーソルを設定する

ある view 内のある領域だけ、特別なカーソルを設定する場合。例えば独自に resize の仕組みを実装していて、view の端に来た時にマウスカーソルを resize 用のカーソルに変えるとか。これ、マウスの動きを監視する必要があるのかと思ったら、それ専用のメソッドがありました。

// NSView
-(void) addCursorRect:(NSRect)aRect cursor:(NSCursor*)aCursor;

これで、任意の領域に任意のカーソルを設定できます。さっきの例でいえばこんな感じ。

[view addCursorRect:rect cursor:[NSCursor resizeLeftRightCursor]];