2011-02-10 2 views
0

私はSpark TitleWindowコンテナをAS3経由のコードで構築することなく、モーダルとして表示できるようにしたいと考えています。私は手作業でTitleWindowを手作業で作成してみました。手作業でドラッグアンドリサイズしたり、オブジェクトを追加したり、隠したりしていました。残念ながら、これが唯一のtestWindowではなく、モーダルとして示し多くのAS3を使わずにSpark TitleWindowモーダルを作成しますか?

public function doPopup():void { 
    testWindow.visible = true; 
    PopUpManager.addPopUp(testWindow, this, true); 
} 

:次にボタンを、私は以下のものに呼び出される関数を設定します。 TitleWindowのレイアウトを自由にサイズ変更してデザインすることができ、それをモーダルなものとして表示するための関数を呼び出すだけで済むように、このようにしたいと思います。

答えて

2

私はあなたがこの行動を見ている理由があるため、あなたのTitleWindowのあるかなり確信している(あなたが親コンテナのMXML内で宣言したので)表示されていないにもかかわらずステージに既に追加されています。回避策は、親コンテナの作成完了ハンドラでthis.removeElement(testWindow)を呼び出すことです。それはステージから外れるので、PopUpManagerは後で適切に追加できます。

私はTitleWindowを別のmxmlファイルに入れ、PopUpManagerを使用してインスタンス化することをお勧めします。この方法ではよりクリーンで、デザインモードを使用して、適切にレイアウトすることができます。

希望に役立ちます。

+0

私の無知を許しますが、私はFlexとFlash Builderについて全く同じです。したがって、「TitleWindowを別のmxmlファイルに入れ、PopUpManagerを使用してインスタンス化することをお勧めします」と言うと、それを別のmxmlファイルに入れてインスタンス化することはどういう意味ですか?私はそれを新しいコンポーネントに置き、PopUpManagerを使ってコンポーネントを呼び出しますか?または、TitleWindowとPopUpManagerの呼び出しをコンポーネントに配置しますか? –

+0

私は、新しいMXMLファイルを作成し、それを "MyTitleWindow"と呼ぶことにしました。これはTitleWindowをベースとして使用します(ファイルを作成するときにダイアログで選択します)。次に、メインのコンポーネントで、 :MyTitleWindow = new MyTitleWindow())、それを表示します(PopUpManager.addPopUp(window、this、true))。 –

+0

さて、私はそれを動作させましたが、私が作ったTitleWindowクラスのhorizo​​ntalCenterとverticalCenterを設定しても、Webアプリケーションの左上の部分でポップアップを維持しています。どのように私はそれをセンターに表示させるのですか? –