> Does this sample application still use cursorRects/NSTrackingRects? > Leopard introduced a new mechanism -- NSTrackingArea and cursorUpdate > events -- which doesn't have some of the problems that the old > mechanism supposedly had. > > With NSTrackingArea and cursorUpdate you should be able to get > complete, consistent control of the cursor inside the visible portion > of your view (even when returning from the outside), and it's fairly > easy to use. [NSScrollView setDocumentCursor:] will still be necessary > to control the part of the scroll view outside the visible portion of > your view, and control entirely outside the scroll view (or window) > will be harder to enforce, because other views (and other windows) may > have their own ideas.
Thanks. I've tried NSTrackingArea, and it seems a clearer concept and easier to use. However, there are still two problems I can't fix: 1. Setting cursor in initWithFrame: and awakeFromNib does not have effect. So I can't set the initial cursor. 2. Setting cursor together with tracking areas renders the cursor setting ineffective. I found this from my mouseUp action. With the code handling tracking areas, [[NSCursor openHandCursor] set] did not give me an openHandCursor, but an arrowCursor. -(void)mouseUp:(NSEvent *)event { dragging=NO; [self removeTrackingArea:trackingRect]; self.trackingRect = [[[NSTrackingArea alloc] initWithRect:[self calculatedItemBounds] options:NSTrackingCursorUpdate | NSTrackingActiveInActiveApp owner:self userInfo:nil] autorelease]; [self addTrackingArea:trackingRect]; [[NSCursor openHandCursor] set]; } _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to [EMAIL PROTECTED]