HMDT - Logic and Intuition -

about HMDT

Cocoa Programming Tips 1001

Application Kit

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 という名前で取り出すことができるんだ。

back to top content

Copyright © 2002-2006 HMDT. All rights reserved.