Как перенести экземпляр NativeApplication в другое NativeWindow - PullRequest
0 голосов
/ 15 сентября 2010

Не уверен, что мой заголовок точно описывает то, что я пытаюсь сделать, но в основном я создал новое окно 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, в основном перенося все управление на новое. есть идеи как это сделать? Вся помощь очень ценится.

Edit:

Для всех, кому интересно, и благодаря предоставленным ответам, вот что я сейчас делаю. Просто создайте файл 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 голосов
/ 15 сентября 2010

Джефф в значительной степени получил ответ в своем комментарии, но у него гораздо больше кармы, чем у меня, поэтому я прокомментирую в качестве ответа;)

Если вы посмотрите на файл AIR -app.xml, онимеет элементы для определения того, является ли приложение изначально видимым и т. д.

То, что вы хотите сделать, - это сделать его изначально невидимым.На самом деле вы не хотите, чтобы он вообще имел видимое присутствие.Однако он будет создавать собственное окно так, как вам нужно, и если вам нужно изменить свойства, снесите его и замените его новым.

Я выгляжу довольно просто на лицеоб этом, но я уверен, что будут некоторые дополнительные осложнения.Каждое NativeWindow имеет свою собственную стадию (IIRC), поэтому, возможно, вы не правильно перемещали resourceManager, например.Я никогда не шел дальше быстрой демонстрации с этим, поэтому вы можете столкнуться с ограничением, которое непреодолимо (как подсказывает ему интуиция Джеффа)

...