gpt4 book ai didi

macos - 从 Carbon 窗口生成的 Cocoa 窗口由任务控制重新排序

转载 作者:行者123 更新时间:2023-12-03 16:47:25 27 4
gpt4 key购买 nike

我有一个基于 Carbon 的应用程序,我正在将其迁移到 Cocoa。目前,应用程序的窗口是Carbon 窗口(CaW1)。该窗口创建并显示一个 Cocoa 窗口 (CoW1),该窗口又创建并显示另一个 Cocoa 窗口 (CoW2)。

当我执行此操作时,屏幕上所有窗口的顺序(从后到前)如下:

CaW1
牛1
CoW2

CoW2 是顶部窗口,CoW1 在其下方,CaW1 在后面。这是我期望的行为。

现在,当我在 Lion 中启动 Mission Control 并单击我的应用程序时,窗口会重新排序。新的顺序是:

CaW1
CoW2
CoW1

两个 Cocoa 窗口交换了位置。这种行为不是我所期望的。我原本预计 CoW2 会保持在 CoW1 之上。

我试图理解为什么会发生这种情况。有什么想法吗?

最佳答案

在带有一些 Cocoa 窗口的基于 Carbon 的应用程序中,我习惯将其添加到每个 NSWindowController 子类中:

- (void)windowDidBecomeMain:(NSNotification *)notification
{
ActivateWindow( (WindowRef) [[self window] windowRef], true );
}

它似乎有助于解决一些窗口排序问题,但我不知道它是否有助于解决您的问题。

关于macos - 从 Carbon 窗口生成的 Cocoa 窗口由任务控制重新排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10759920/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com