是否可以通过菜单栏创建一个窗口,而无需全屏显示?
提前致谢!
答案 0 :(得分:15)
是的,琐碎的:
window.level = NSMainMenuWindowLevel + 1;
(参考:Drawing to the Full Screen,适用于Mac OS X的OpenGL编程指南。)
sebastianmarkow是正确的,因为这对于普通文档窗口来说是一种可怕的行为,但是有几种窗口类型是正常的:游标,工具提示和Xscope等特殊实用程序。答案 1 :(得分:3)
我喜欢Jens Ayton的回答,但不是选择那样的任意数字,我认为最好使用其中一个定义的常量。
就个人而言,我使用NSPopUpMenuWindowLevel
作为:
self.window.level = NSPopUpMenuWindowLevel;
在发布此答案时,您可能更喜欢的其他常量包括:
NSNormalWindowLevel
NSFloatingWindowLevel
NSSubmenuWindowLevel
NSNormalWindowLevel
NSMainMenuWindowLevel
NSStatusWindowLevel
NSModalPaneWindowLevel
NSPopUpMenuWindowLevel
NSScreenSaverWindowLevel
以下是参考资料(Apple倾向于改变他们组织文档的方式并多年来打破这些链接,但API没有太大变化,这就是为什么我在上面列出了这个列表。我怀疑这个链接是否有效在3年左右的时间里,这些常数在未来20年内可能不会有太大变化。)
答案 2 :(得分:2)
我不相信你可以登上菜单栏,但是你可以通过调用
将菜单栏设置为当应用程序是最前面的应用程序时自动隐藏[[NSApplication sharedApplication] setPresentationOptions: NSApplicationPresentationAutoHideMenuBar];
应该允许您使用应用程序中通常用于菜单栏的空间。