2010-03-19 71 views

回答

0

找到它。簡單但難以捉摸。

使用NSPanel並確保面板樣式爲非激活(NSNonactivatingPanelMask)或在IB的檢查器中勾選相同的選項。

0

你應該能夠處理的鼠標點擊,而不通過發送NSAppa preventWindowOrdering message,然後再返回YES讓您的觀點(至少處理鼠標點擊的那些),以應對acceptsFirstMouse: messages訂購您的窗口前。

你不應該讓你的應用程序處理輸入而不自己排序。如果出現的字段被另一個窗口遮擋,用戶可能不會意識到他們的輸入正在進行的位置。

+0

感謝您的提示,但它仍然沒有按照我希望的方式工作。對於我的窗口類,我重寫了canBecomeKeyWindow(返回NO),makeKeyWindow(什麼也不做),accepFirstResponder(返回NO)和canBecomeMainWindow(什麼也不做)。 我也定義爲你建議我自己的NSButton類來覆蓋accepFirstMessage: 基本上,我需要我的窗口彈出並讓用戶點擊它的按鈕,而前一個應用程序(比如說iTunes)仍然處於活動狀態和菜單欄主動/焦點。 – hishamk 2010-03-20 11:47:54

相關問題