快速业务通道

如何使用ComboBox组件创建图示

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-10


看了番茄的 [原创]如何使用List組件創建圖示 dispbbs.ASP?BoardID=47&ID=171499
我在想ComboBox是不是也可以如法泡制,于是我照着作 准备图片 拷贝AS
myList.setSize(240, 172); //設定List的寬度和高度
myList.rowHeight = 42; //設定每筆記錄的高度(配合圖示的高度)
myList.addItem({label: "Super-Tomato Programmer", iconField : "Super-Tomato1"}); //加入label和所指定的圖示(步驟2所建立的名字), 記得沒有label的話就只會出現圖示名字而已喔, 我在這裡嚐試了很多此才知道要這樣做...天資比較差 ^^"
myList.iconFunction = function(item) { //使用iconFunction指定回傳每筆記錄的圖示連接
return item.iconField; //回傳...:)
}
然后测试,什么东西都没有(没有图片只有文字)。气死我了,我知道ComboBox可定可以的因为他的下拉列表就是一个List。没有效果肯定是那里搞错了。
一、 我马上翻出Flash帮助看 可是看了几遍都没找到要的东西。连List组件的 iconFunciton都找不到他的资料。看来靠Flash的帮助是没有用的了。
二、我一生气想大不了自己写一个ComboBox组件。于是我找出了MM的ComboBox的类文件来研究。
三、700多行的代码 还导了几个类,有点晕了。想点法子。
四、查找iconFunction找不到 再找List 找到了

__dropdown = PopUpManager.createPopUp(this, List, false, o, true);(语句1)这代码就是生成一个List用来显示 下拉列表的。既然是List 那肯定可以使用番茄的方法了。
那个__dropdown就保存着这个List 。我只要这样就可以了

myComboBox.__dropdown.iconFunction = function(item) { (语句2)
return item.iconField;
}好 测试一下!。不行!

trace一下 trace(myComboBox.__dropdown);测试。 居然是undfined!!! 晕~~~ 只好重新看那700多行的代码了。
仔细一看 (语句1) 被函数getDropdown()调用 然后他返回的值就是__dropdown!!!好了找到了!我把(语句2)修改成

myComboBox.getDropdown().iconFunction = function(item) { (语句3)
return item.iconField;
}
测试。成功了!这是效果:

点击浏览该文件
其实真实情况没有上面写的那么顺利。我费了不少劲 还走了些弯路。
最后我的AS是这样的

myComboBox.dropdown.iconFunction = function(item) { (语句3)
return item.iconField;
}dropdown是这样的ComboBox的一个属性 使用他比直接调用getDropdown()安全一些。上面的东西只不过是我平时学AS的小小心得 和方法,希望对大家有用。
最后,要像实现那些功能还有一个方法。就是使用“cellRenderer”Flash帮助看的仔细的朋友应该看到过。他的功能在帮助中有说,我个人认为这东西功能强大。他不只是能添加一个图标,他还可以使你在List组件(和通过List组件扩展的其他组件)的Item里 添加任何你像添加的东西!!!比如加个按钮、MC、进度条等等。还可以是List支持HTML。大家可以回去试试看。
如果有人支持的话 下次我再写个使用“cellRenderer”在List添加图标的 贴子来。看累了吧。
这是上面那个例子的源文件
点击浏览该文件

关键词:组件

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号