1

我正在开发一个可可应用程序,它可以创建普通的可可窗口和用碳窗口初始化的可可窗口。所有窗口都应该浮动在所有应用程序之上。对于可可窗,我将窗位设置为 NSTornOffMenuWindowLevel,对于碳窗,我使用 kUtilityWindowClass。两者都工作正常,窗口浮动在其他应用程序之上,但问题是碳窗和可可窗没有相同的窗口高度,因此碳窗将始终浮动在可可窗的顶部。有没有办法让两种窗口类型具有相同的窗口级别而不会丢失浮动在其他应用程序之上?我想因为 kUtilityWindowClass 似乎是唯一可以在碳中浮动其他应用程序的窗口类,我正在寻找它在可可中的等价物......感谢您的帮助!

4

2 回答 2

1

如果您查看 NSWindow.h,您会看到 Cocoa 窗口级别是根据 Core Graphics 窗口级别定义的,例如,NSFloatingWindowLevel定义为kCGFloatingWindowLevel. 如果您查看这些窗口级别在 CGWindowLevel.h 中定义的位置,其中一个选项是kCGUtilityWindowLevel. 那将是我的猜测,相当于kUtilityWindowClass.

于 2012-07-20T17:52:58.360 回答
0

具体我不知道,你可以试试。我会尝试NSModalPanelWindowLevel(上面的一个 NSTornOffMenuWindowLevel)、NSMainMenuWindowLevelNSStatusWindowLevelNSPopUpMenuWindowLevel,它们是从相对较低到最高的其他可用级别。

于 2012-07-20T16:06:32.207 回答