0

不确定我的标题是否准确地描述了我正在尝试做的事情,但基本上我已经创建了一个新的 NativeWindow 如下(使用 Adob​​e NativeWindow 文档http://help.adobe.com/en_US/FlashPlatform/reference中的示例/actionscript/3/flash/display/NativeWindow.html?filter_flex=4.1&filter_flashplayer=10.1&filter_air=2#minSize ):

var windowOptions:NativeWindowInitOptions = new NativeWindowInitOptions();
windowOptions.systemChrome = NativeWindowSystemChrome.STANDARD;
windowOptions.type = NativeWindowType.NORMAL;

var newWindow:NativeWindow = new NativeWindow(windowOptions);
newWindow.stage.scaleMode = StageScaleMode.NO_SCALE;
newWindow.stage.align = StageAlign.TOP_LEFT;
newWindow.bounds = new Rectangle(100, 100, 800, 800);

newWindow.activate();

但是,现在我有了新窗口,我想关闭旧窗口并使新窗口成为活动的 NativeApplication,基本上将所有控制权转移到新窗口。知道怎么做吗?非常感谢所有帮助。

编辑:

对于任何感兴趣的人,并且感谢提供的答案,这就是我现在所做的。只需使用创建一个 mxml 文件

<?xml version="1.0" encoding="utf-8"?>

<mx:Window
xmlns:mx="http://www.adobe.com/2006/mxml"
...
>

调用这个 MyWindow.mxml 或其他什么,然后在主控制器中使用创建一个实例

private var myWindow:MyWindow = new MyWindow. 

然后,您可以相应地设置高度宽度最小化和最大化属性,例如 myWindow.width = 400。要打开窗口,您可以执行 window.open(true) 或 window.visible = false; window.open(true) - 后者使窗口不可见但可供使用。

4

1 回答 1

0

杰夫在他的评论中几乎得到了答案,但他的业力比我多得多,所以我会评论作为答案;)

如果您查看您的 AIR -app.xml 文件,它包含应用程序最初是否可见等的元素。

你想要做的是让它最初是不可见的。事实上,您根本不希望它有任何可见的存在。不过,它会按照您想要的方式生成一个本地窗口,如果您需要更改属性,请将其拆下并用新的替换它。

从表面上看,我看起来很简单,但我很肯定会有一些额外的并发症。每个 NativeWindow 都有自己的阶段 (IIRC),因此例如,您可能没有正确移动资源管理器。我从来没有比这个快速演示更进一步,所以你可能会遇到一个无法克服的限制(正如 Jeff 的直觉告诉他的那样)

于 2010-09-15T16:06:39.137 回答