在Flash List控件中显示复选框?(类似于Flex中的ItemRendering)



我如何在Flash List Control中有一个复选框?

到目前为止我已经编码的内容:

customcellrenderer.as

package 
{ 
    import fl.controls.CheckBox; 
    import fl.controls.listClasses.ICellRenderer; 
    import fl.controls.listClasses.ListData; 
    public class CustomCellRenderer extends CheckBox implements ICellRenderer { 
        private var _listData:ListData; 
        private var _data:Object; 
        public function CustomCellRenderer() { 
        } 
        public function set data(d:Object):void { 
            _data = d; 
            label = d.label; 
        } 
        public function get data():Object { 
            return _data; 
        } 
        public function set listData(ld:ListData):void { 
            _listData = ld; 
        } 
        public function get listData():ListData { 
            return _listData; 
        } 
    } 
}

内部闪光灯IDE操作面板:

import fl.controls.List;
var myList:List 
myList.allowMultipleSelection =true;
myList.setStyle("cellRenderer", CustomCellRenderer); 
myList.addItem({label:"Burger", price:"$5.95"}); 
myList.addItem({label:"Fries", price:"$1.95"});
myList.addItem({label:"Burger", price:"$5.95"}); 
myList.addItem({label:"Fries", price:"$1.95"});

问题是显示的复选框,无法同时检查(除非单击CTRL按钮)。

v。

获得了解决方案:

使用ctrlkey属性来完成这项工作。

感谢该教程:http://active.tutsplus.com/tutorials/actionscript/as3-quick-tip-hacking-the-event-flow/

ActionsPanel:

import flash.events.Event;

var myList:List 
//myList.setStyle("cellRenderer", MyCellRenderer);
myList.addEventListener(MouseEvent.CLICK, hackMouseListener, true);
myList.allowMultipleSelection =true;
myList.setStyle("cellRenderer", CustomCellRenderer); 
myList.addItem({label:"Burger", price:"$5.95"}); 
myList.addItem({label:"Fries", price:"$1.95"});
myList.addItem({label:"Burger", price:"$5.95"}); 
myList.addItem({label:"Fries", price:"$1.95"});

function hackMouseListener(e:MouseEvent):void{
    e.ctrlKey = true;
}

customcellrenderer.as

package 
{ 
    import fl.controls.CheckBox; 
    import fl.controls.listClasses.ICellRenderer; 
    import fl.controls.listClasses.ListData; 
    import fl.controls.List ;
    public class CustomCellRenderer extends CheckBox implements ICellRenderer { 
        private var _listData:ListData; 
        private var _data:Object; 
        public function CustomCellRenderer() { 
        } 
        public function set data(d:Object):void { 
            _data = d; 
            label = d.label; 
        } 
        public function get data():Object { 
            return _data; 
        } 
        public function set listData(ld:ListData):void 
        {
            _listData = ld; 
        } 
        public function get listData():ListData { 
            return _listData; 
        } 
        public override function set selected(val_bool:Boolean):void 
        {

            _selected = val_bool
                super.selected = _selected ; 

        }
        public override function get  selected():Boolean
        {
            return _selected ; 

        }


    } 
}

最新更新