2

在 Carbon 中,您可以使用 HideWindow(WindowRef) 和 ShowWindow(WindowRef) 更改窗口的可见性。

在 Cocoa 中,我知道您可以调用 NSWindow 的 orderOut: 来隐藏和 orderFront:、orderBack: 或 orderWindow:relativeTo: 将其放回屏幕上,但是这些都不尊重窗口在上次可见时相对于其他窗口的顺序。

例如,如果我有两个窗口,一个在另一个之上,然后在后窗口上调用 orderOut:,如何在不调用 orderWindow:relativeTo:的情况下再次显示窗口以使其仍在前窗口后面。

我现在唯一能想到的就是记住它正上方窗口的窗口ID,然后在再次显示时使用 orderWindow:relativeTo: ,但是我没有想过如果上面的窗口在之前关闭会发生什么后窗再次可见。

4

1 回答 1

1

我认为 Cocoa 中没有任何可用的方法。我想你需要用你的想法来模仿它。

顺便说一句,如果您从四个按顺序排列的窗口开始,Carbon 的行为是什么

 A B X C D E

然后隐藏X

 A B C D E

现在用户重新排序它们,并删除一些:

 E A C

然后X再次显示。X在这种情况下,Carbon 去了哪里?

于 2011-02-10T14:29:32.943 回答