cocoa – 创建一个NSWindow,它漂浮在应用程序中的所有其他窗口上,但不会覆盖其他应用程序的窗口

cocoa – 创建一个NSWindow,它漂浮在应用程序中的所有其他窗口上,但不会覆盖其他应用程序的窗口,第1张

概述我试图让我的NSWindow总是出现在我的应用程序的顶部,但我不希望它漂浮在已经变得活跃的其他应用程序上.我已经厌倦了以下代码,但这使得窗口浮动在其他应用程序上: NSRect frame = NSMakeRect(100, 100, 800, 800);myWindow = [[NSWindow alloc] initWithContentRect:frame 我试图让我的NSWindow总是出现在我的应用程序的顶部,但我不希望它漂浮在已经变得活跃的其他应用程序上.我已经厌倦了以下代码,但这使得窗口浮动在其他应用程序上:

NSRect frame = NSMakeRect(100,100,800,800);myWindow  = [[NSWindow alloc] initWithContentRect:frame                                                styleMask:NSborderlessWindowMask                                                  backing:NSbackingStoreBuffered                                                    defer:NO];[myWindow setLevel:NSfloatingWindowLevel  ];[myWindow setBackgroundcolor:[NScolor bluecolor]];[myWindow makeKeyAndOrderFront:NSApp];

我还尝试了NSWindow文档中列出的所有常量,并没有找到一个会让NSWindow浮动在其他窗口的其他窗口,而不是其他活动应用程序的其他窗口.这不可能吗?

解决方法 没有内置的支持.您可以考虑将窗口设置为在取消激活时隐藏.

或者,您可以让窗口控制器观察NSApplicationWillResignActiveNotification和NSApplicationDIDBecomeActiveNotification通知并调整窗口级别.当您的应用即将重新启动活动状态时,您将窗口级别设置为恢复正常.当它再次变为活动状态时,将其设置为浮动. (如果窗口由app delegate控制,那么您可以在-applicationWillResignActive:和-applicationDIDBecomeActive:委托方法中执行此 *** 作.)

总结

以上是内存溢出为你收集整理的cocoa – 创建一个NSWindow,它漂浮在应用程序中的所有其他窗口上,但不会覆盖其他应用程序的窗口全部内容,希望文章能够帮你解决cocoa – 创建一个NSWindow,它漂浮在应用程序中的所有其他窗口上,但不会覆盖其他应用程序的窗口所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1005509.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存