转载自天地会的论坛,解决了我想要解决的问题,以备后用。
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; 即什么也不选中。通过设置该值即可设置不选中任何内容