如何使用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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: setInterval全面的介绍下一篇: Disabled按钮的制作方法
关于如何使用ComboBox组件创建图示的所有评论