Platform: All
Version: MX 2004 and above
シンタックス
windowInstance.content
説明
プロパティ(訳者注: 読取り専用[*1]); Windowのコンテンツ(設定したMovieClipの最上位階層のパス)への参照。このプロパティは、MovieClipオブジェクトを返します。[ライプラリ]からシンボルを設定(アタッチ)すると、デフォルト値は設定したシンボルのインスタンスになります。コンテンツをURLからロードすると、デフォルト値はロードの処理が開始するまでundefinedになります。
[訳者注*1] 原文には、記載がありません。しかし、Loader.contentや同じmx.containersパッケージのScrollPane.contentと同じく、読取り専用のプロパティと考えられます。
|
例
つぎのコードは、Windowコンポーネント内のコンテンツ(訳者注: に配置されたTextFieldインスタンス)のtextプロパティに、値を設定します[*2][*3]。
myLoginWindow.content.password.text = "secret";
|
[訳者注*2] Window.contentPathプロパティを設定した直後に、コンテンツにアクセスしても、undefinedが返されます。したがって、コンテンツとして設定したインスタンスの操作は、Window.completeイベントを待って行う必要があります(スクリプト001)。
スクリプト001■Window.completeイベントのリスナーを作成してコンテンツ内のTextFieldに値を設定
// フレームアクション
import mx.managers.PopUpManager;
import mx.containers.Window;
var oWindowListener:Object = new Object();
oWindowListener.complete = function() {
myLoginWindow.content.password.text = "secret";
};
var myLoginWindow:Window = Window(PopUpManager.createPopUp(this, Window, true));
myLoginWindow.title = "ログイン";
myLoginWindow.contentPath = "loginForm";
myLoginWindow.addEventListener("complete", oWindowListener);
trace(myLoginWindow.content); // 出力: undefined
|
[訳者注*3] さらに、コンテンツのインスタンスにコンポーネントが配置されている場合、Window.completeイベントが発生した段階では、コンポーネントのプロパティは初期化されていない可能性があります。
たとえば、上記スクリプト001のTextFieldインスタンスをTextAreaコンポーネントに変更すると、TextArea.textプロパティは正しく設定されず、テキストが表示されません。
以下のサンプルは、Window.completeイベントのコールバック関数内ではTextAreaインスタンスにMovieClip.onLoadイベントハンドラメソッドを定義し、そのコールバック関数が呼出されたときにTextArea.textプロパティを設定しています(スクリプト002)。
スクリプト002■Window.completeイベントでTextAreaにonLoadイベントハンドラを定義して値を設定
// フレームアクション
import mx.managers.PopUpManager;
import mx.containers.Window;
var oWindowListener:Object = new Object();
oWindowListener.complete = function() {
// myLoginWindow.content.password.text = "secret"; // テキストが設定されない
myLoginWindow.content.password.onLoad = function() {
this.text = "secret";
};
};
var myLoginWindow:Window = Window(PopUpManager.createPopUp(this, Window, true));
myLoginWindow.title = "ログイン";
myLoginWindow.contentPath = "loginForm";
myLoginWindow.addEventListener("complete", oWindowListener);
|
|
Player
Flash Player 6.0r79以降。
出典
Flash MX 2004 Using Components : Window.content
より邦訳。
_____
作成者: 野中文雄
作成日: 2005年5月12日