Geometry 関数
NSBundle
NSDictionary
NSFileManager
NSMutableAttributedString
NSNumber
NSScanner
NSString
NSTimer
Graphic 関数
NSApplication
NSBezierPath
NSCell
NSColor
NSCursor
-矢印カーソル、I ビームカーソルを設定する
-任意の画像をカーソルに設定する
NSCustomImageRep
NSDocument
NSDocumentController
NSDragging
NSEvent
NSFontManager
NSGraphicsContext
NSImage
NSMenu
NSOutlineView
NSPanel
NSPopUpButton
NSResponder
NSScrollView
NSString 追加
NSTableColumn
NSTableView
NSTextStorage
NSTextView
NSToolbar
NSView
NSWindow
NSWorkspace
その他
.nib ウィンドウ
Views パレット
クラス
インスタンス変数
メソッド
CFXML
Carbon Event
Carbon Graphics
Cocoa で日本語
メソッド
その他

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



[Home] [Download] [Archives] [BBS] [Cocoa Programming Tips 1001] [Core Foundation の秘密] [Safari Developer Center] [はじめてのブラウザのつくり方] [Sketch BP] [スクリーンセイバーを作ろう] [Objective-C 最適化] [Authorization API 完全理解] [Mac OS X Programming Books Review] [オブジェクト指向の言語比較論] [panther-dev]

mailto: mkino@xd5.so-net.ne.jp