|
iconFunction和labelFunction的补充(1)
iconFunction和labelFunction的补充,以前看过Jiagao's Blog上的《labelFunction和iconFunction函数的使用》。又想起了做了如下实验: myList.dataProvider = [{label:"生活照", data:{fileName:"myphoto1", fileExtension:"jpg"}}, {label:"学习笔记", data:{fileName:"myDocument2", fileExtension:"doc"}}, {label:"产品照片", data:{fileName:"myphoto2", fileExtension:"gif"}}, {label:"临时文本", data:{fileName:"myDocument1", fileExtension:"txt"}}]; myList.labelFunction = function(item) { return (item.label+"("+item.data.fileName+"."+item.data.fileExtension+")"); }; myList.iconFunction = function(item) { var type = item.data.fileExtension; if (type == "jpg" type == "gif") { return "pictureIcon"; } else if (type == "doc" type == "txt") { return "docIcon"; } }; iconFunction是ScrollSelectList的一个方法,所以作为ScrollSelectList的子类的List、Menu及List的子类的Tree和DataGrid也应该又同样的方法(Menu的方法是FLASH帮助中没有的,云开让我看MM的V2的类真的是非常有用啊) labelFunction有很多组件都可以使用,如List、Menu、Tree、DataGrid、DataGridColumn、MenuBar、ComboBox及他们的子类。(FLASH帮助里又没有Menu的提及labelFunction方法) 大家可以从下面的代码 var myMDP = new XML(); var newItem = myMDP.addMenuItem({label:"New"}); newItem.addMenuItem({label:"File..."}); newItem.addMenuItem({label:"Project..."}); newItem.addMenuItem({label:"Resource..."}); myMDP.addMenuItem({label:"Open", instanceName:"miOpen"}); myMDP.addMenuItem({label:"Save", instanceName:"miSave"}); myMDP.addMenuItem({type:"separator"}); myMDP.addMenuItem({label:"Quit", instanceName:"miQuit"}); var myMenu = mx.controls.Menu.createMenu(myParentClip, myMDP); // myMenu.iconFunction = function(item) { switch (item.attributes.label) { case "New" : case "File..." : case "Save" : return "docIcon"; break; default : return "pictureIcon"; break; } }; myMenu.show(250, 10);
|