如何将NativeApplication实例传输到另一个NativeWindow

时间:2010-09-15 13:53:41

标签: flex nativewindow

不确定我的标题是否准确描述了我正在尝试做的事情,但基本上我已经创建了一个新的NativeWindow,如下所示(使用Adobe 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) - 后者使窗口不可见但可供使用。

1 个答案:

答案 0 :(得分:0)

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

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

您想要做的是让它最初隐身。事实上,你根本不希望它有任何可见的存在。它会做什么,然后按照你想要的方式生成一个原生窗口,如果你需要更改属性,请将其删除并替换为新属性。

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

相关问题