import mx.core.UIComponent; class treeRenderer extends UIComponent { private var htmlLabel:TextField; private var bg:MovieClip; private var textStyle:TextFormat; private var listOwner:MovieClip; function treeRenderer() { } private function createChildren():Void { textStyle = new TextFormat(); textStyle.font = "華康粗黑體"; createTextField("htmlLabel", 1, 0, 0, 0, 0); htmlLabel.selectable = false; htmlLabel.textColor = 0xFFFFFF; htmlLabel.embedFonts = true; size(); } private function size():Void { htmlLabel.setSize(__width-4, __height); bg.setSize(__width, __height); bg._x = -__width/2; htmlLabel._x = -2; htmlLabel._y = 3; } private function setValue(str:String, item:Object, sel:String):Void { // then hide bg when cell out of visible area htmlLabel._visible = (item != undefined); if (htmlLabel._visible) { bg = attachMovie(item.attributes.bg, "bg", 0); bg._width = __width*2; // Hide bg when highlighted/selected bg._visible = (sel == "normal"); } else { bg._visible = false; } htmlLabel.text = str; //textStyle.bold = (item.attributes.fontStyle == "bold"); textStyle.size = 13;//item.attributes.fontSize; htmlLabel.setTextFormat(textStyle); } private function getPreferredHeight():Number { return listOwner.rowHeight; } }