2011-03-30 76 views
7

我正在研究控制其他正在運行的應用程序的實用程序應用程序。在某些輸入事件中,我的應用程序顯示一個窗口,用戶可以從窗口中選擇一些操作,窗口消失並且控制返回到以前的應用程序。我的問題是點擊我應用程序的窗口會激活我的應用程序,從而將焦點從以前的應用程序窗口中移除。當我的窗戶關閉時,我可以重新激活以前的應用程序,但我寧願始終激活原始應用程序。那可能嗎?接受鼠標點擊而不激活應用程序?

回答

5

這是很容易到,只是讓你的窗口NSPanel實例(的NSWindow一個子類),並將它設置爲在Xcode/IB非激活(或編程方式創建它,與NSNonactivatingPanelMask在式面膜)。

enter image description here

+0

就是這樣!謝謝。 – zoul 2011-03-30 13:15:18

0

一個想法是:當你的應用程序正在運行時,嘗試保持系統中活動窗口的跟蹤。 激活您的應用程序並單擊命令按鈕後,恢復以前的活動窗口。 這只是一個想法,我不知道如何在Mac上做到這一點。

+0

這就是我現在做的,但我不會與解決方案完全滿意,因爲你可以看到原來的窗口失去焦點一秒鐘。 – zoul 2011-03-30 10:14:49