0

私はflex4を使用していますが、マルチウィンドウWebアプリケーションを作成するための答えを探しています。私のアプリケーションはある種の複雑なものですが、現在、PopupManagerを使用して新しいウィンドウを作成することしか知りません。インスタンス化するウィンドウごとに各MXMLを作成する必要がありますか?次に、mxmlをロードして、ステージに配置しますか?それを説明するチュートリアルはありますか?プログラムをモジュール化して管理しやすく、拡張しやすいものにしたい。

現在使用している方法は、グループを使用してウィンドウ内のすべてのコントロールをグループ化することです。ユーザーがそのウィンドウを開きたい場合は、グループを表示して前面に表示します。それはウィンドウ処理を行う正しい方法ですか?しかし、ドラッグはサポートできません。

ドラッグ可能なウィンドウまたはダイアログのネイティブサポートがあるかどうか知りたいですか?

また、これまですべてのコントロールが単一のmxmlファイル内に配置されていましたが、1つのウィンドウ(または1つのグループ)を個別のmxmlファイルにすることは可能ですか?

4

4 に答える 4

1

最初の質問に答えて、FlexlibのMDIを見てください。

2番目の質問への回答として、プロジェクトの管理方法についてFlexチュートリアルを参照してください。

于 2010-10-20T10:28:35.323 に答える
1

PopupManager を使用するには、最初にプロジェクトの src フォルダー内のアプリの隣に mxml コンポーネントを作成する必要があります。たとえば、コンポーネント コンテナーとして TitleWindow を含みます。このコンテナーはウィンドウに似ているため便利で、閉じるボタンがあります。 .

例えば:

<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init();"  initialize="requestEvent();" width="368" close="close();" height="116" layout="absolute" backgroundAlpha="100" title="Create Folder" showCloseButton="true" x="29" y="21" borderColor="#FFFFFF" cornerRadius="10" alpha="2" themeColor="#FFFFFF">

</mx:TitleWindow>

アプリからそのコンポーネントをインスタンス化してポップアップするには、次のコードのように PopupManager を使用する必要があります。

var create_folder_w:create_folder_window = create_folder_window( PopUpManager.createPopUp(this, create_folder_window,true));

PopUpManager.centerPopUp(create_folder_w); create_folder_w.addEventListener(FlexEvent.REMOVE,close_create_folder_refresh);

そのコードは、最初の部分で示したウィンドウ コンポーネントを表示します。

この簡単な例がお役に立てば幸いです....

于 2010-10-20T21:33:33.260 に答える
1

問題は、何がどのファイルに入るかではなく、オブジェクトまたはクラスを相互に関連させて実装する方法です。複数のウィンドウが同じ構造を共有している場合、またはコントロールのタイプを共有している場合は、それらのウィンドウの基本クラスを確実に作成できます。コントロールについても同様です。

ドラッグできるコンポーネントや共通のコントロール セットについて特に難しいことは何もありません。ただし、Gregor Kiddie にはポイントがあります。Flex のチュートリアルを確認してみてはいかがでしょうか。

于 2010-10-20T11:12:34.193 に答える
0

MDI 環境を用意するには、少なくとも 3 つのオプションがあります。

  1. mx:TitleWindow - ネイティブ フレックス コンポーネント。それほど強力ではない
  2. flexlibの MDI コンポーネント: 強力で安定した
  3. appmdiは驚くべきものですが、十分に文書化されていません。

flexlib MDI コンポーネントを選択しましたが、他のソリューションを検討することをお勧めします

于 2011-04-18T16:18:30.680 に答える