进入Flash MX组件时代之二 内置组件的使用(上)

2005-07-25 17:57:57  作者:  来源:互联网  文字大小:】【】【

本文章来源:PConline网络学院,转载请联系PConline网络学院


  2.1 CheckBox(复选框)

  在许多软件中,复选框组件是经常会被用到的,如Visual C++的资源编辑器中我们就可以看见很多的
复选框。复选框可以允许我们选择一个或者多个选项,当某选项被选中后,该复选框的小框里就会出现一个小勾。

  我们把Components面板中的CheckBox(复选框)组件拖拽到场景中,然后打开它的参数设置面板,如图5所示。

width=500 height=86 border=0> 图5

  同样的,你也可以选择Window菜单下的Component Parameters命令,或是按快捷键Alt+F7调出Component Parameters(组件参数)面板来设置组件的参数,如图6所示。

width=224 height=158 border=0> 图6

  在CheckBox组件的参数面板中,各项参数的功能如下:
  Label(组件名称):命名复选框组件,如图7所示。
  InitialValue(初始值):初始化组件的状态为选中(true)或是未选中(false)。


width=300 height=176 border=0> 图7

   Alignment(对齐方式):设置复选框的可选方式。Left:勾选框在左面,right:勾选框在右边。 如图7所示。
   Change Handler(处理函数):执行用户自己定义的函数,该设置选项的参数为用户定义函数的函数名。在函数被调用前,我们需要对它进行定义。

  现在我们看一个简单的组件效果。该效果中,当我们选中组件“CheckBox1”时,组件“CheckBox2”也会同时被选中。当组件“CheckBox1”不被选中的时候,组“CheckBox2”也不被选中,而且会变成灰色,即该组件不可用,但两个组件的名称都会改变,效果如图8所示。但选择组件“CheckBox2”却不会影响到组件“CheckBox1”,效果如图9所示。


width=250 height=159 border=0> 图8


width=250 height=159 border=0> 图9

  这个实例的具体做法如下:

  首先按快捷键Ctrl+F7打开Components面板,然后用鼠标左键的按住组件并把它拖拽到场景中,接着打开Component Parameters面板进行如图10所示的参数设置。

 图10

  在Label参数选项里我们重新命名这个复选框的名字为“Paris”。Change Handler参数选项里设置的“func”字符串就是我们自己定义的一个函数的函数名,也就是这个复选框被执行的时候,这个函数将会被调用。

  再拖拽一个复选框组件到场景中,然后在Component Parameters面板进行如图10所示的参数设置。“func2”也是自定义的函数。

 图10

  现在右键单击场景中的第一帧,然后选择Actions命令,在打开的Actions面板中输入如下代码:

//为CheckBox1创建func函数

function func() {

//复选框被勾选后改变组件名称

CheckBox1.setLabel("巴黎");

//得到复选框的被选状态,复选框被勾选时,n_CheckBox1的值为true

n_CheckBox1 = CheckBox1.getValue();

//如果复选框未被勾选,则修改组件的名称为“Paris”

if (n_CheckBox1 != true){

CheckBox1.setLabel("Paris");

}

//改变CheckBox2的状态

CheckBox2.setValue(n_CheckBox1);

CheckBox2.setEnabled(n_CheckBox1);

}

//为CheckBox1创建func2函数,代码含义如上

function func2() {

CheckBox2.setLabel("伦敦");

n_CheckBox2 = CheckBox2.getValue();

if (n_CheckBox2 != true){

CheckBox2.setLabel("London");

}

}

  以上代码中,我们先定义了一个func()函数,这个函数的主要功能是在控制组件CheckBox1的同时,对组件CheckBox2也进行着控制。当我们勾选CheckBox1后,复选框CheckBox2也会被勾选,并同时改变两个组件的名称。当CheckBox1不被勾选时,复选框CheckBox2是不可

相关文章