转载http://www.css88.com/archives/261
这次是见识了,flash中的组件样式非常难改,我花了整整一天半的时间在改变这个ComboBox 的外观样式,我想其他flash中的其他组件肯定也一样难改,不过经过这次我知道怎么去改了:)
ComboBox改组件风格,有两块:一是改变样式,通过AS去改其部分属性;二是改变外观,将组件主题导入库,改主题里的资源来改变外观.
下载源码,ComboBox改变样式和外观
注:mycbx是ComboBox的实例名
一、改变样式
1.新创建一个样式,将此样式指它给组件
import mx.styles.CSSStyleDeclaration; //将所有 import 语句放置在 ActionScript 的开头是一种编码规范
var new_style:Object = new CSSStyleDeclaration(); //命名该新样式声明,然后将其添加到全局样式声明
_global.styles.myStyle = new_style;
new_style.setStyle(”themeColor”, “haloBlue”);
new_style.setStyle(”selectionColor”, “white”);
new_style.setStyle(”useRollOver”, false);
new_style.setStyle(”borderStyle”, “none”);
mycbx.addItem({data:1, label:”One”});
mycbx.addItem({data:2, label:”Two”});
mycbx.setStyle(”styleName”, “myStyle”); //赋值
2.使用 List 样式来控制 ComboBox 组件的下拉列表部分的行为
mycbx.setStyle(”alternatingRowColors”, [0xFFFFFF, 0xBFBFBF]);
mycbx.setStyle(”themeColor”,0×999999);
mycbx.setStyle(”backgroundColor”,0×000000); //背景颜色
mycbx.setStyle(”color”,0×999999); //字体颜色
mycbx.setStyle(”borderStyle”,”solid”); //边框
mycbx.setStyle(”borderColor”,0×333333); //边框颜色
mycbx.setStyle(”highlightColor”,0×333333); //高亮颜色
mycbx.setStyle(”selectionColor”,0×999999); //选中颜色
mycbx.setStyle(”rollOverColor”,0×999999); //滚动颜色
样式 说明
themeColor 组件的基本配色方案。可能的值包括 "haloGreen"、"haloBlue" 和 "haloOrange"。默认值为 "haloGreen"。
borderStyle Button 子组件将两个 RectBorder 实例用作其边框,并对在该类上定义的样式做出响应。请参见RectBorder 类。在”光晕”主题中,ComboBox 组件将一个自定义圆角边框用于 ComboBox 的折叠部分。此部分 ComboBox 的颜色只能通过外观进行修改。请参见对 ComboBox 组件使用外观。
disabledColor 组件禁用时的文本颜色。默认值为 0×848384(深灰)。
fontFamily 文本的字体名称。默认值为 "_sans"。
fontStyle 字体样式:"normal" 或 "italic"。默认值为 "normal"。
textAlign 文本对齐方式:"left"、"right" 或 "center"。默认值为 "left"。
openDuration 过渡动画的持续时间(以毫秒为单位)。默认值为 250。
From - http://www.css88.com/archives/261