昨天我们已经介绍了ComboBox的使用方法,假若按继承的方式来比较ComboBox与ListBox,那么应该说它们继承于相同的父类,正因如此所以这两个组件之间在许多方面具有相似的点,包括我们要讲述的参数设置及其它的一些相关操作。当然,区别总是存在的,ComboBox在空间的利用上为我们节约了很大的开支,但倘若项目增多就会变得十分的累赘累人,而ListBox虽然增加了一些空间占用面积,可是里面项目内容增加以后却比ComboBox要来得方便的多。
首先我们先来认识一下ListBox的参数及其参数的作用:
Labels(标签):标签的功能是给列表框输入各菜单选项。双击该选项会弹出如图21所示的values(参数)面板(与ComboBox一样)。
Data(数据):也与同Labels参数选项一样,Data中的数据也是一个字符串数组。Data参数中的数组元素分别对应着Labels参数中的元素,其值也可以从values面板中输入(与ComboBox的Data一致)。
Select Multiple(多选):该项的功能是判断列表框是否具有多选功能。False:只能选择列表框中的一个数据项;True:可以同时选择列表框中的多个数据项(按下Ctrl或Shift进行多项数据选择)。
ChangeHandler:执行用户自定义的函数。该参数选项的参数为用户定义函数的函数名。在函数被调用前,我们需要对它进行定义,而且函数需要和实体在同一时间轴列上。还有,该函数还可以使用列表框的实体名作为自己的参数。
双击Labels参数选项,在弹出的values面板中输入菜单项目的名称,最终设置如图所示。接着双击Data参数选项,在弹出的values面板中输入和目录名相对应的连接地址,输入后的设置如图所示。在Change Handler参数选项里输入“yujia”。当选择下来导航条中的菜单选项时,函数“yujia”将被执行。“ListBox”是组合框的实体名。
Labels
Data
我们介绍两种方法介绍达到链结:
方法一:
右键单击场景中的第1帧,打开Actions面板,输入如下代码:
ListBox.setSize(150,50);
//ListBox.setSize(width, height)
//为ListBox创建yujia函数
function yujia(obj) {
//obj._name取得组件的实体名,如果实体名为ListBox则往下执行
if (obj._name == "ListBox") {
//getURL()方法可以打开浏览器
getURL(obj.getvalue());
}
}
最终ListBox的属性参数为下图:
实例效果:
源文件:
点击浏览该文件
这种方法和昨天的基本一样,重要的是大家学习第二种方法
方法二:
根据上面的代码我们可以做进一步的改进,我们将利用ListBox罗列一些相关的网站,我们通过在列表框中选择不同的站点名称来定制窗口大小的打开一个新的站点。因而这里不仅可以让我们对ListBox的操作有所掌握,而且还可以让我们清楚如何利用一些其它的技术(如javascript)来结合ListBox实现一些实用的效果。
当我们设置完ListBox的Labels与Data的项目内容以后我们再确认一下Select Multiple是否设置为False(本实例中为否),然后我们在ChangeHandler中输入ListOpenWindow(此为自定义函数ListOpenWindow()的名称)。
接下来我们新建一层ActionScript层,并在此关键帧中输入如下的代码内容:
ListBox.setSize(150,80);
//构建一个自定义函数CenterPopupMX,利用getURL与javascript来实现弹出定制大小的居中窗口
MovieClip.prototype.CenterPopupMX = function(theurl, title, w, h, features) {
var sysW = System.capabilities.screenResolutionX;
var sysH = System.capabilities.screenResolutionY;
var centerx = Math.round((sysW/2)-(w/2));
var centery = Math.round((sysH/2)-(h/2));
getURL("javascript :void(window.open(''"+theUrl+"'',''"+title+"'',''width="+w+", height="+h+", left="+centerx+", top="+centery+",screenX="+centerx+", screenY="+centery+","+features+"''));");
};
//构建一个自定义函数ListOpenWindow,利用getURL与前面的CenterPopupMX函数结合在取出ListBox相应名称的超链接以后打开一个宽为400高为500无工具栏等内容的定制浏览窗口
function ListOpenWindow() {
getURL(CenterPopupMX((listBox.getSelectedItem().data),"4Tstudio",400,500,"menubar=no"), "_blank");
}
实例效果:
源文件:
点击浏览该文件
