在FlashMX2004的ListBox中应用HTML
2008-04-02 10:56:47来源:互联网 阅读 ()
下面这个就是最终的结果,您能够轻松的创建一个。
这个效果是通过创建一个自定义cellRenderer,而不是ListBox默认的处理。
一个cellRenderer就是任意的一个class,这个class要实现Cell Renderer API,被用来在基于列表的组件(List,DataGrid,Tree和Menu)显示一行的内容。您能够在帮助中找到更多关于Cell Renderers的信息
Using Components -> Components Dictionary -> CellRenderer API
按下面的步骤创建上面的例子
1.下载我的LabelCellRenderer,解压缩到合适的路径(.fla所在的路径最好),保持压缩包中的文档目录
2.插入一个新的MC符号,命名为"LabelCellRenderer",不加引号,这是个空的符号
3.在库面板的LabelCellRenderer上单击右键,从菜单中选择“linkage...”。点击“Export for ActionScript”,使用“com.darronschall.LabelCellRenderer”作为AS2.0的类。而且确定“LabelCellRenderer”作为ID。
4.添加一个Label组件到库中。这是必要的,因为LabelCellRenderer用他来显示。
5.拖动一个ListBox到舞台上,给他一个实例名称。我使用“myList”,在这个例子中调整他的大小到250×90。
6.复制粘贴下面的代码,以使用LabelCellRenderer
// 普通的事件处理
function change(eventObj) {
trace(eventObj.target.selectedItem.data);
}
// 填充ListBox - 注意label字符串中的HTML代码
myList.addItem({label:"Apples ... are red", data:"apple"});
myList.addItem({label:"Oranges ... are orange", data:"orange"});
myList.addItem({label:"Bananas ... are yellow", data:"banana"});
myList.addItem({label:"Pears ... are green", data:"pear"});
// 当内容不足以显示滚动条时,关闭这个讨厌的东西
myList.vScrollPolicy = "off";
// 使用 LabelCellRenderer 来显示 listBox中的label,并允许使用html myList.cellRenderer = "LabelCellRenderer";
myList.addEventListener("change", this);
// 原文里改变了组件样式,我发现不改反而更漂亮,呵呵(qhwa注)
//_global.style.setStyle("themeColor", 0xCCCCCC);
这样应该能够了,祝您好运喽~
希望您明白了怎样使用一个CellRenderer有效地显示您需要地东西,而不是去钻研List组件的内部程式。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: 电脑绘画的心得
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash