【问题标题】:How to find topmost NSPanel如何找到最顶层的 NSPanel
【发布时间】:2015-06-18 16:36:50
【问题描述】:

我的应用程序创建了几个专门包含 NSButton 的浮动面板(NSPanel 类)。我需要以编程方式找出这些面板中的哪一个在给定时刻位于最顶端。

不幸的是 [NSApp orderedWindows] 不包括处于 NSFloatingWindowLevel 级别的窗口。 我该怎么做?

【问题讨论】:

    标签: macos cocoa


    【解决方案1】:

    您可以使用CGWindowListCopyWindowInfo() 检索系统中的所有窗口并检查属于您的进程的窗口。

    【讨论】:

    • 非常感谢您的建议。我怀疑我必须走那条路。事实上,我最终得到了一个基于 [NSWindowList()][1] 而不是 CGWindowListCopyWindowInfo() 的类似解决方案。但由于 NSWindowList() 被标记为已弃用,我将尝试 CGWindowListCopyWindowInfo。 [1]:developer.apple.com/library/mac/documentation/Cocoa/Reference/…
    • Apple 几乎在每次 SDK 更新中都会弃用一些东西,我怀疑他们的一位工程师正在弃用业余爱好者 :)
    猜你喜欢
    • 2019-07-10
    • 2012-04-15
    • 1970-01-01
    • 2013-10-06
    • 1970-01-01
    • 2011-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多