在Cocoa的其他应用程序中约束窗口位置?

时间:2011-06-23 14:35:24

标签: cocoa window screen-positioning

我对Cocoa开发相对较新。我正在开发Snow Leopard。我有一个场景,我很好奇API是否支持它。我没能找到任何关于它的东西,所以我认为它不可能。但我很高兴被证明是错的。

假设我编写的应用程序位于菜单栏正下方的屏幕顶部。窗户漂浮,所以它总是在顶部。这可能很烦人,所以我想到的一件事是限制其他窗口(特别是其他应用程序中的窗口),以便它们低于我的应用程序。 API中是否有允许我这样做的东西?要为所有窗口指定最大原点(我的除外)?

感谢。

2 个答案:

答案 0 :(得分:1)

没有真正支持的方法来做到这一点。您可以使用Accessibility API实现类似的功能。您必须注意窗口移动的通知并将窗口推回到可见区域。

答案 1 :(得分:0)

我认为你不能这样做,你知道,基于窗口的用户界面的一个很酷的事情就是你可以将Windows叠加在其他人的桌面上。

现在,你可以做的是一个永远在顶部的窗口,使用NSScreenSaverWindowLevel作为NSWindow级别。你可以做的一个很好的技巧是[window setLevel:NSScreenSaverWindowLevel + 1],它将你的窗口设置在屏幕保护程序级别之上。