ActionScript 3.0 中的 ComboBox控件

转载自天地会的论坛,解决了我想要解决的问题,以备后用。


1. 修改ComboBox的字体


搞定了!用了以下代码:
var comicSansTF:TextFormat = new TextFormat();
comicSansTF.font = "黑体";
x_cb.textField.setStyle("textFormat", comicSansTF);
x_cb.dropdown.setRendererStyle("textFormat", comicSansTF);

其中x_cb是一个combobox组件。另外,奇怪的是,如果宋体,字不是很清晰,用黑体比较清晰。

我用的是flash cs3。

2. 修改下拉框的字体

ComboBox控件默认的字体颜色是黑色,假设控件的实例名叫sel,我可以通过以下代码改变选中而显示出来的字体颜色
var style:TextFormat = new TextFormat();
style.color = 0xffffff;
sel.textField.setStyle("textFormat",style);
但是这样下拉列表框中的字体依然是黑色,我该怎样才能改变下拉列表中选项的字体颜色呢?

见过用style manager改的,但具体做法忘记了。另一个方法是扩展CellRenderer:
package
{
        import fl.controls.listClasses.CellRenderer;
        import flash.text.TextFormat;

        public class cellRenderer extends CellRenderer
        {


                public function cellRenderer( )
                {
                        super( );

                        this.setStyle( "embedFonts", true );
                        this.setStyle( "textFormat", new TextFormat( "Arial", 10, 0xD9C7A2 ) );
                }
        }
}

用这个替换ComboBox控件原来的CellRenderer绑定。

3. 选中ComboBox中的条目

flash.events.Event.CHANGE 然后读取combobox.selectedIndex(选中项的索引)、selectedItem(选中项对应的数据)、selectedLabel(选中的项的显示文字)都可以

combobox.selectedIndex = -1; 即什么也不选中。通过设置该值即可设置不选中任何内容


你可能感兴趣的:(ActionScript 3.0 中的 ComboBox控件)