我有一個基於文檔的Cocoa應用程序和一個TextView,我想捕獲它的點擊,所以我試圖攔截Window事件,如mouseDown,mouseUp等,然後將它們與我的TextView中。在NSDocument中捕獲窗口事件
我試了兩件事情:
1)我做了TextView的我的文檔的窗口中的起始第一響應者,並推翻我的文檔類的mouseDown事件,但它不打。
2.)我分類NSWindow並重寫mouseDown,並將該子類設置爲我的文檔xib中的Window類。那個事件也沒有發生。
我注意到窗口的委託已經設置爲我的文件的所有者這是我的NSDocument子類。如果我的文檔子類是我的窗口的委託,爲什麼事件不會觸發我的NSDocument?
謝謝。當我瀏覽NSTextView在IB中接收到的操作時,我沒有看到mouseDown,因此我認爲我必須在窗口上處理它。我將NSTextView分類爲處理mouseDown事件,它的工作方式與我期望的相同。謝謝! – Donald 2010-11-03 00:19:39
歡迎。理解Cocoa的事件處理(包括響應者鏈和視圖層次)絕對是值得的。沒有這個,你會錯過大部分大局。 – 2010-11-03 15:53:19