ActionScript 2.0 组件语言参考 |
|
|
|
| Accordion 组件 > Accordion.createChild() | |||
Flash Player 6 (6.0.79.0)。
Flash MX Professional 2004。
accordionInstance.createChild(classOrSymbolName,instanceName[,initialProperties])
classOrSymbolName 待实例化的 UIObject 的类的构造函数或链接名称(即指向待实例化的元件的引用)。类必须是 UIObject 或 UIObject 的子类,但大多数情况下是 View 对象或 View 的子类。
instanceName 新实例的名称。
initialProperties 指定新实例初始属性的可选参数。可使用以下属性:
label 一个字符串,它指定新的子实例在其标题上使用的文本标签。 icon 一个字符串,它指定库元件的链接标识符,子项将该元件用作其标题上的图标。指向 UIObject(新创建子项)的实例的引用。
方法(从 View 继承);为 accordion 创建子项。新创建的子项被添加到 Accordion 所拥有的子项列表的末尾。使用此方法可以将视图放置于 Accordion 内。创建的子项是 classOrSymbolName 参数中指定的类或影片剪辑元件的实例。可以使用 label 和 icon 属性为 initialProperties 参数中每个子项所关联的 Accordion 标题指定文本标签和图标。
在创建每一子项时,按创建顺序给各子项分配索引编号,并将 numChildren 属性的值加 1。
首先在舞台上创建一个名为 my_acc 的 Accordion 实例。向库中添加一个元件,其链接标识符 payIcon 为子标题的图标。以下代码创建一个名为 billing 的子项(标签为"Payment"(付款)),它是 View 类的一个实例:
var child_obj:Object = my_acc.createChild(mx.core.View, "billing", {label: "Payment", icon: "payIcon"});
以下代码也创建作为 View 类的实例的子项,但它使用 import 引用该 View 类的构造函数:
import mx.core.View;
var child_obj:Object = my_acc.createChild(View, "billing", {label: "Payment", icon: "payIcon"});
或者,向库中添加一个影片剪辑元件,其链接标识符 PaymentForm 为 Accordion 子项,并且使用以下代码创建 PaymentForm 的实例(命名为 billing),作为 my_acc 的子项(这种方法适用于动态内容:向影片剪辑元件中加载动态内容,然后使该元件成为 Accordion 实例的子项):
var child_obj:Object = my_acc.createChild("PaymentForm", "billing", {label: "Payment", icon: "payIcon"});
一个更复杂的示例情形为,在舞台上保留 Accordion 实例 my_acc。然后将一个 Label 组件和一个 TextInput 组件从"组件"面板拖到当前文档的库中(以使库中既具有 TextInput 元件,又具有 Label 元件)。将以下代码粘贴到主时间轴的第一帧中(替换以前示例的所有代码)。以下代码创建作为 View 类的实例的子项,将它命名为 billing,并将子项添加到 billing 以便为表单提供标签和文本输入字段:
import mx.core.View;
import mx.controls.Label;
import mx.controls.TextInput;
var child_obj:Object = my_acc.createChild(View, "billing", {label:"Payment", icon: "payIcon"});
// 创建作为视图实例子项的标签。
var cardType_label:Object = child_obj.createChild(Label, "CardType_label", {_x:10, _y:50});
var cardNumber_label:Object = child_obj.createChild(Label, "CardNumber_label", {_x:10, _y:100});
// 创建作为视图实例子项的文本输入。
var cardTypeInput_ti:Object = child_obj.createChild(TextInput, "CardType_ti", {_x:150, _y:50});
var cardNumberInput_ti:Object = child_obj.createChild(TextInput, "CardNumber_ti", {_x:150, _y:100});
// 填充标签。
cardType_label.text = "Card Type";
cardNumber_label.text = "Card Number";
|
|
|
|