代码之家  ›  专栏  ›  技术社区  ›  Craig Myles

如何将NativeApplication实例转移到另一个NativeWindow

  •  0
  • Craig Myles  · 技术社区  · 15 年前

    不确定我的标题是否准确地描述了我要做的事情,但基本上我创建了一个新的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();
    

    编辑:

    对于任何有兴趣的人,感谢提供的答案,下面是我现在要做的。只需使用

    <?xml version="1.0" encoding="utf-8"?>
    
    <mx:Window
    xmlns:mx="http://www.adobe.com/2006/mxml"
    ...
    >
    

    叫这个我的窗口.mxml或者别的什么,然后在主控制器中使用

    private var myWindow:MyWindow = new MyWindow. 
    

    然后可以相应地设置height-width-minimizable和maximizable属性,如我的窗口宽度= 400. 要打开窗口,您可以执行以下任一操作:打开新窗口(对)或窗口可见=假;打开新窗口(正确)-后者使窗口不可见但可供使用。

    1 回复  |  直到 12 年前
        1
  •  0
  •   Gregor Kiddie    15 年前

    杰夫在他的评论中几乎得到了答案,但他的因果报应比我多得多,所以我将评论作为答案;)

    如果你看看你的空气-应用程序.xml文件,它包含应用程序最初是否可见等元素。

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

    表面上看我很简单,但我肯定会有一些额外的并发症。每个NativeWindow都有自己的stage(IIRC),因此您可能无法正确地移动resourceManager,例如。我只做过一个简单的演示,所以你可能会遇到一个无法克服的限制(杰夫的直觉告诉他)

    推荐文章