2011-04-04 128 views
0

我正在制作一个图像编辑应用程序,但它看起来非常不完整,没有像在Photoshop中用于画笔的光标。我如何设置图标,并在退出应用程序时将其更改回来?如何在Objective-C中更改鼠标光标

这是在我的头文件中的代码(以防万一它的需要):

@interface test : NSWindow <NSWindowDelegate> { 
    IBOutlet id myView; 

} 

@end 

MyView的是NSView(customView),将显示一切。

+1

我没有你的问题的答案,但只是作为一个评论,我认为你应该改变'IBOutlet id myView'到'IBOutlet NSView myView'。它总是有助于更具体一点。如果你知道你在做什么,我会建议避免使用id。 – 2011-04-04 22:02:05

+3

@ kevin9794'IBOutlet NSView * myView;'('*'非常重要:)) – 2011-04-04 22:02:44

+0

haha​​ true。感谢那。 :P – 2011-04-04 22:03:50

回答

8

有一个方便的NSCursor类来处理光标外观。如果其中一个内置游标看起来不怎么需要,可以使用NSImage-set作为活动游标初始化一个新的NSCursor

+5

与NSTrackingArea结合使用时更好:http://developer.apple.com/library/mac/#documentation/Cocoa/Reference/NSTrackingArea_class/Reference/Reference.html – Chuck 2011-04-04 22:28:33

1

如果绘图区域为矩形(NSTracking区域始终为矩形): - 使用mouseEntered,NSTrackingArea的Exited方法跟踪和更改鼠标光标。可以使用NSCursor类更改鼠标光标。

如果跟踪区域不是矩形,则在围绕整个绘制区域的位置创建一个更大的矩形跟踪区域,然后跟踪跟踪区域内的mouseMoved事件以适当地设置光标。有关更多详细信息,请参阅Apple文档。