0

私のタイトルが私がやろうとしていることを正確に説明しているかどうかはわかりませんが、基本的に次のように新しい 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) - 後者はウィンドウを非表示にしますが、使用可能にします。

4

1 に答える 1

0

ジェフは彼のコメントでほとんど答えを得ていますが、彼は私よりもはるかに多くのカルマを持っているので、答えとしてコメントします;)

AIR -app.xml ファイルを見ると、アプリケーションが最初に表示されるかどうかなどの要素が含まれています。

あなたがしたいことは、最初は見えないようにすることです。実際、目に見える存在をまったく望んでいません。ただし、必要な方法でネイティブウィンドウを生成し、プロパティを変更する必要がある場合は、それを破棄して新しいものに置き換えます。

一見するとかなり単純に見えますが、いくつかの追加の複雑さがあると確信しています。各 NativeWindow には独自のステージ (IIRC) があるため、たとえば、resourceManager が正しく移動されない場合があります。私はこれを使って簡単なデモを行ったことがないので、克服できない制限に遭遇する可能性があります (ジェフの直感によると)。

于 2010-09-15T16:06:39.137 に答える