为特定组件设置样式

您可以创建自定义样式声明,从而为 Flash 文档中的特定组件指定一组独特的属性。首先,创建 CSSStyleDeclaration 对象的新实例,创建自定义样式名称并将其放置在 _global.styles 列表上 (_global.styles.newStyle),然后为样式指定属性和值,再将该样式分配给实例。如果您在舞台上已经至少放置了一个组件实例,CSSStyleDeclaration 对象就能够被访问了。

您可以对自定义样式格式进行更改,方法和编辑 _global 样式声明中的属性的方法相同。只是使用 CSSStyleDeclaration 实例,而不是使用 _global 样式声明名称。有关 _global 样式声明的详细信息,请参阅设置全局样式

有关 CSSStyleDeclaration 对象属性的信息,请参阅支持的样式。有关每个组件所支持样式的列表,请参阅组件字典中的各个组件条目。

为特定组件创建自定义样式声明:

  1. 确保该文档包含至少一个组件实例。

    有关详细信息,请参阅向 Flash 文档中添加组件

    此范例使用三个按钮组件,实例名称分别为 abc。如果使用不同组件,请在“属性检查器”中为它们指定实例名称,并在第 9 步使用这些实例名称。

  2. 在时间轴中创建一个新层,并为该层指定一个名称。
  3. 在出现组件(或出现组件之前)的新层上选择帧。
  4. 在专家模式下打开“动作”面板。
  5. 使用以下语法创建 CSSStyleDeclaration 对象的一个实例,以定义新的自定义样式格式:
    var styleObj = new mx.styles.CSSStyleDeclaration;
    
  6. 设置样式声明的 styleName 属性,为该样式命名:
    styleObj.styleName = "newStyle"; 
    
  7. 将该样式放置在全局样式表上:
    _global.styles.newStyle = styleObj; 
    

    注意:您也可以使用以下语法来创建 CSSStyleDeclaration 对象并将它分配给新样式声明:

    var styleObj = _global.styles.newStyle = new mx.styles.CSSStyleDeclaration();
    
  8. 使用以下语法指定要为 myStyle 样式声明定义的属性:
    styleObj.fontFamily = "_sans";
    styleObj.fontSize = 14;
    styleObj.fontWeight = "bold";
    styleObj.textDecoration = "underline";
    styleObj.color = 0x336699;
    styleObj.setStyle("themeColor", "haloBlue");
    
  9. 在同一个“脚本”窗格中,使用以下语法将两个特定组件的 styleName 属性设置为自定义样式声明:
    a.setStyle("styleName", "newStyle");
    b.setStyle("styleName", "newStyle");
    

您也可以使用 setStyle()getStyle() 方法访问自定义样式声明上的样式。以下代码设置 newStyle 样式声明上的 backgroundColor 样式:

_global.styles.newStyle.setStyle("backgroundColor", "0xFFCCFF");