Pages

2009年11月12日木曜日

ActionScript3(Flash) ComboBoxのフォント色が変わならい。。。

1フレーム目でComboBoxのdataProviderをセットした後にすぐ文字色を変更しようとすると変わらない。。。何なんこれ。。。

RadioButtonのフォントカラーは変わるのに。。。

ソースはこんな感じ。

this._root.sendDate.dataProvider = new DataProvider(this.getDateList());

var format3 = new TextFormat();
format3.color = 0xCCCCCC;
this._root.sendDate.setStyle("textFormat", format3);

どうやら予め設置されたコンボボックスの色を変更するのがダメみたい。
4フレーム目で実行してみると色が変わるところを見たらオブジェクトが生成される前にTextFormatを指定しようとしているみたいだ。。。

コンポーネントインスペクタのパラーメータにフォントカラーとかがあったらいいのにな。。。
何か方法あるのかな。。。

addChildでrootに追加したものはコンボボックス生成の際に指定するから色がちゃんと変わってる。。。

フォームオブジェクトなんかは基本的にスクリプトから追加するのがセオリーって事なのかな。。。
結局クラス内でフォームオブジェクトを管理するようにした。

var textFormat:TextFormat = new TextFormat();
textFormat.color = 0xCCCCCC;
this._forms.sendDate = new ComboBox();
this._forms.sendDate.name = 'sendDate';
this._forms.sendDate.dataProvider = new DataProvider(this.getDateList());
this._forms.sendDate.dropdown.iconField = null;
this._forms.sendDate.labelField = "label";
this._forms.sendDate.textField.setStyle("textFormat", textFormat);
this._forms.sendDate.dropdown.setRendererStyle("textFormat", textFormat);
this._forms.sendDate.width = 130;
this._forms.sendDate.move(160, 469);
this._root.addChild(this._forms.sendDate);

 こんな感じ。 。。
この時に気付いたんだけど、 rootにaddChildで追加してnameでインスタンス名付けてるのに、this._root.sendDateで参照できない。。。undefinedになる。。。

フレームも跨いで現れるし、どういう追加になってるんだろうか。。。

0 件のコメント:

コメントを投稿

Followers