コンポーネントインスタンスのスタイルの設定

コンポーネントインスタンスのスタイルプロパティを設定または取得するには、ActionScript コードを記述します。UIObject.setStyle()UIObject.getStyle()の両メソッドは、あらゆる UI コンポーネントから直接呼び出すことができます。次のシンタックスで、コンポーネントインスタンスのプロパティと値を指定します。

instanceName.setStyle("propertyName", value);

次のコードは、Halo テーマを使用する myButton という Button インスタンスのアクセントカラーを設定する例です。

myButton.setStyle("themeColor", "haloBlue");

メモ

 

文字列で指定する場合には、引用符で囲む必要があります。

プロパティとしてスタイルに直接アクセスすることもできます (たとえば、myButton.color = 0xFF00FF)。

setStyle() を使用してコンポーネントのインスタンスに設定したスタイルプロパティは、最も優先度が高く、スタイル宣言やテーマによる他のスタイル設定よりも優先されます。ただし、単一のコンポーネントインスタンスに対して setStyle() を使用して設定したプロパティが多ければ多いほど、該当するコンポーネントの実行時の表示速度は遅くなります。カスタマイズしたコンポーネントの表示速度を向上させるには、UIObject.createClassObject()を使用して、ActionScript でコンポーネントインスタンス作成時にスタイルプロパティを定義し、スタイル設定を initObject パラメータで指定する方法があります。たとえば次のコード行では、現在のライブラリに ComboBox コンポーネントがある場合に my_cb という名前のコンボボックスインスタンスを作成し、そのコンボボックスのテキストをイタリックおよび右揃えに設定します。

createClassObject(mx.controls.ComboBox, "my_cb", 1, {fontStyle:"italic", textAlign:"right"});
my_cb.addItem({data:1, label:"One"});

メモ

 

複数のプロパティを変更する場合や、複数のコンポーネントインスタンスのプロパティを変更する場合は、カスタムスタイルを作成できます。複数のプロパティを設定するカスタムスタイルを使用したコンポーネントインスタンスは、何度も setStyle() を呼び出したコンポーネントインスタンスよりも高速で表示されます。詳細については、コンポーネントのグループに対するカスタムスタイルの設定を参照してください。

Halo テーマを使用する単一コンポーネントインスタンスのプロパティを設定または変更するには :

  1. ステージでコンポーネントインスタンスを選択します。
  2. プロパティインスペクタで、インスタンスに myComponent という名前を付けます。
  3. [アクション] パネルを開いて [シーン 1] を選択し、[レイヤー 1: フレーム 1] を選択します。
  4. インスタンスをオレンジ色にするには、次のコードを入力します。
    myComponent.setStyle("themeColor", "haloOrange");
    
  5. [制御]-[ムービープレビュー] を選択して変更を確認します。

    特定のコンポーネントでサポートされるスタイルの一覧は、『ActionScript 2.0 コンポーネントリファレンスガイド』のそのコンポーネントの項目を参照してください。

コンポーネントインスタンスを作成し、ActionScript で複数のプロパティを同時に設定するには :

  1. コンポーネントをライブラリにドラッグします。
  2. [アクション] パネルを開いて [シーン 1] を選択し、[レイヤー 1: フレーム 1] を選択します。
  3. コンポーネントのインスタンスを作成してプロパティを設定するために、次のシンタックスを入力します。
    createClassObject(className, "instance_name", depth, {style:"setting", style:"setting"});
    

    たとえば次の ActionScript では、ライブラリに Button コンポーネントがある場合に my_button というボタンインスタンスを深度 1 に作成し、テキストスタイルを紫色のイタリックに設定します。

    createClassObject(mx.controls.Button, "my_button", 1, {label:"Hello", color:"0x9900CC", fontStyle:"italic"});
    

    詳細については、UIObject.createClassObject()を参照してください。

  4. [制御]-[ムービープレビュー] を選択して変更を確認します。

    特定のコンポーネントでサポートされるスタイルの一覧は、『ActionScript 2.0 コンポーネントリファレンスガイド』のそのコンポーネントの項目を参照してください。


 

このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート

現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00002459.html