在 Carbon 中,您可以使用 HideWindow(WindowRef) 和 ShowWindow(WindowRef) 更改窗口的可见性。
在 Cocoa 中,我知道您可以调用 NSWindow 的 orderOut: 来隐藏和 orderFront:、orderBack: 或 orderWindow:relativeTo: 将其放回屏幕上,但是这些都不尊重窗口在上次可见时相对于其他窗口的顺序。
例如,如果我有两个窗口,一个在另一个之上,然后在后窗口上调用 orderOut:,如何在不调用 orderWindow:relativeTo:的情况下再次显示窗口以使其仍在前窗口后面。
我现在唯一能想到的就是记住它正上方窗口的窗口ID,然后在再次显示时使用 orderWindow:relativeTo: ,但是我没有想过如果上面的窗口在之前关闭会发生什么后窗再次可见。