2011-04-04 104 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文檔。