我有一個透明的NSWindow
,它隨處可見用戶的屏幕(NSWindow
停留在每個應用程序前面,不管是甚麼全屏應用程序)。
在那NSWindow
我有一個mouseDown
事件,顯示一個彈出。假設我在全屏模式下進行Safari瀏覽,並在其前面有我的窗口,我點擊Safari瀏覽器,然後再次點擊我的窗口:沒有任何反應,mouseDown不會發生。我必須再次點擊才能觸發mouseDown
事件。
我如何強制我的NSWindow
始終處於活動狀態,因此我不必點擊它2次即可觸發mouseDown
當我點擊一個後臺應用程序並再次單擊我的窗口時?
謝謝!如何強制NSWindow始終保持主動/專注?
回答
如果向窗口視圖添加無邊界NSButton實例並將圖像設置爲按鈕圖像(並將其作爲其替代圖像以使其更加美觀),那麼它可以開箱即用:只需連接按鈕的操作方法添加到您的應用程序委託(或您想要處理點擊操作的對象)。點擊圖像(即按鈕)將觸發按鈕的操作方法,無論哪個窗口處於活動狀態。
謝謝!那只是我想要的方式!這麼簡單,我沒有注意到。 –
我不知道這是否是你想要的東西(它不是相當的窗口範圍的設置),但是,從documentation:
默認情況下,在一個窗口中的鼠標按下事件不是關鍵窗口 只是把窗口向前並使其成爲關鍵;該事件不是 發送到發生鼠標點擊的對象
NSView
。NSView
可以聲明一個初始的鼠標按下事件,但是,通過覆蓋acceptsFirstMouse:
返回YES
。該方法的參數是發生在非鍵窗口,其中該視圖 對象可以檢查以確定其是否想要接收鼠標事件 和潛在的成爲第一響應的 鼠標按下事件。例如,您希望此方法的默認行爲爲 ,例如,影響窗口中所選對象的控件。
但是,在某些情況下,它適用於覆蓋此行爲,例如對於即使在窗口處於非活動狀態時也應接收
mouseDown:
消息的控件。 支持此點擊行爲的控件的示例是窗口的標題欄按鈕 。
或者你可以嘗試用
- (void)sendEvent:(NSEvent *)theEvent
擺弄,看看你是否可以在自定義的方式處理事件。
我做了文檔中的一些研究,但我無法找到任何工作完全透明:/ –
你嘗試做-acceptsFirstMouse:回報是?這將使控件立即可用於您的窗口,即使它不是關鍵,這聽起來像你想要的。 – Vervious
不行,不按我想要的方式工作。我希望窗口始終處於活動/關注的狀態。 –
我覺得你真正應該做的是使用NSPanel(浮動面板 - 一種特殊的NSWindow的),將做的正是你的方式,與操作系統保持一致,而不是試圖對抗預期行爲想要什麼。
這裏的NSPanel文檔:
下面是一些有用而有力的信息:
http://cocoadev.com/wiki/NSPanel
默認情況下,NSPanel會當應用程序處於非活動狀態消失,但你可以關閉此功能。
我不更充分地鋪設出來道歉......時間緊迫。
編輯:
注意,你也許可以得到表現你的窗口根據需要簡單:
「的一個NSView可以申請初始鼠標按下事件,但是,通過覆蓋acceptsFirstMouse:返回YES。 「
你需要任何的NSView子類來跳過「點擊激活」來做到這一點。
它的行爲與nswindow類似。點擊背景窗口後,我必須觸摸它2次才能聚焦:/ –
這是您必須覆蓋的默認行爲。如果您查看系統字符查看器(NSPanel),它會接受第一次點擊並保留在前面。請參閱文檔:https://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/EventOverview/HandlingMouseEvents/HandlingMouseEvents.html – podperson
這爲我工作,希望會有所幫助,這將始終保持你的窗口上方的所有應用程序
[self.window makeKeyAndOrderFront:nil];
[self.window setLevel:NSStatusWindowLevel];
- 1. 保持textarea始終專注
- 2. 保持TextInputLayout始終專注或始終展開標籤
- 3. 如何強制選擇jquery select始終保持打開狀態?
- 4. 如何強制Android始終從啓動器活動開始
- 5. 輸入保持專注
- 6. 我如何強制註釋始終顯示上面的列?
- 7. 如何強制git始終使用主分支?
- 8. Firebase:如何始終強制登錄?
- 9. Math.Round圓始終保持十進制值
- 10. 始終保持控制在上面
- 11. 如何強制保持Node.js進程終止?
- 12. 如何保持gtk.window始終在頂層
- 13. 如何保持SqlConnection始終打開
- 14. 如何使SurfaceView始終保持水平?
- 15. 如何保持SplashImage始終開啓?
- 16. WPF始終專注於文本框
- 17. 如何製作始終保持在頂部的標題?
- 18. 如何限制NSTextField文本長度並始終保持大寫?
- 19. 配置保持活動狀態始終保持連接狀態
- 20. 如何強制鍵盤保持顯示?
- 21. 如何始終保持浮動Infragistics contentpane wpf窗口「可見」?
- 22. 如何讓滾動條始終保持底部?
- 23. 導航活動如何始終保持打開狀態?
- 24. 如何移動UIImageView以始終保持圖像的頭像?
- 25. 如何使活動窗口始終保持最佳狀態
- 26. 如何獲得100%高度的浮動div始終保持100%
- 27. 如何在頁面滾動時始終保持頁眉靜止?
- 28. 如何始終保持活動的最新參考
- 29. 如何保持垂直滾動條始終在jtable的末尾
- 30. 保持專注於文本按enter
能否請您闡述一下你的窗口的透明度:它不是完全透明的,是它? – Tim
與圖像 –