NSCursor

NSCursor

Application Kit - NSCursor

矢印カーソル、I ビームカーソルを設定する

Keywords: storkeLineFromPoint

カーソルを設定するために使うのは、NSCursor クラスだ。矢印カーソルとか、I ビームとかは、すでにシステムが用意してる。これらを使う時は、それぞれに対応したクラスメソッドがあるんだ。

Application Kit/NSCursor.h

+ (NSCursor *)arrowCursor;
+ (NSCursor *)IBeamCursor;

これを使えば、簡単にカーソルが設定できるぜ。カーソルを変更するには NSView の addCursorRect:cursor: を使う。

(sample)

- (void)resetCursorRects
{
 [self addCursorRect:NSMakeRect(0, 0, 40, 40)
  cursor:[NSCursor IBeamCursor]];
 [self addCursorRect:NSMakeRect(10, 10, 20, 20)
  cursor:[NSCursor arrowCursor]];
}

これで、設定した領域にカーソルが入ったとき、カーソルが変わるよ。



Application Kit - NSCursor

任意の画像をカーソルに設定する

Keywords: initWithImage

好きな画像をカーソルとして設定したいときは、initWithImage:: を使おう。

Application Kit/NSCursor.h

- (id)initWithImage:(NSImage *)newImage hotSpot:(NSPoint)aPoint;
- (id)initWithImage:(NSImage *)newImage
         foregroundColorHint:(NSColor *)fg
         backgroundColorHint:(NSColor *)bg
         hotSpot:(NSPoint)hotSpot;

newImage に画像を、hotSpot にホットスポットを設定する。カーソルサイズは 16x16 だ。

(sample)

- (void)resetCursorRects
{
 NSCursor* cursor = [[NSCurosr alloc]
    initWithImage:
      [NSImage imageNamed:@"NSCrosshairCursor"
    hotSpot:NSMakePoint(7, 7)];
}

これで、十字カーソルが設定される。十字カーソルのイメージは、NSCrosshairCursor という名前で取り出すことができるんだ。




Application Kit