2011-06-23 92 views
1

我對可可開發比較陌生。我正在開發雪豹。我有一個想法,我很好奇,如果API支持它。我一直無法找到它,所以我認爲它不可能。但我很高興被證明是錯誤的。在Cocoa的其他應用程序中約束窗口位置?

假設我編寫的應用程序位於菜單欄正下方的屏幕頂部。窗戶浮動,所以它總是在最上面。這可能很煩人,所以我想到的一件事是限制其他窗口(特別是其他應用程序中的窗口),以便它們低於我的應用程序。 API中有什麼可以讓我這麼做嗎?爲所有窗口指定最大原點(除了我的)?

謝謝。

回答

1

有沒有真正支持的方式來做到這一點。您可以使用Accessibility API來實現類似的功能。您必須注意窗口移動的通知,並將窗口推回到可見光區域。

+0

我最終聯繫了蘋果,他們說了同樣的事情。使用輔助功能API。對於那些考慮類似問題的人來說,可以在系統偏好設置中禁用Accessibility API,所以這不是一個通用的解決方案。 顯然有一種方法可以使用AppleScript來做到這一點,但我還沒有對此進行過多的研究。 Accessibility API被推薦爲更好的選擇。 – user812376

+0

謝謝大家的幫助! – user812376

+0

@ user812376:沒問題。關於AppleScript:它可以用來移動窗口,但AFAIK沒有實際的方法來觀看其他應用程序的窗口,以便知道*何時移動它們。我知道的用於觀看其他應用程序窗口的唯一選項是Accessibility和黑客窗口服務器。 – Chuck

0

我不認爲你可以這樣做,你會發現,基於窗口的用戶界面的一個很酷的特性就是你可以在其他桌面上使用Windows來重疊Windows。

現在,您可以做的是始終在頂部窗口,使用NSScreenSaverWindowLevel作爲NSWindow級別。你可以做的一個很好的技巧是[窗口setLevel:NSScreenSaverWindowLevel + 1],它設置你的窗口高於屏幕保護程度。

相關問題