+ -
当前位置:首页 → 问答吧 → 我扩展的comboBox 类 不好用。。。

我扩展的comboBox 类 不好用。。。

时间:2011-01-29

来源:互联网

只覆写了 计算列表坐标的函数 其他只有静态变量从新定义了 但是new出来之后,没有皮肤之类的。。。
复制内容到剪贴板
代码:
package  common.component{
    import fl.controls.ComboBox;
    import fl.controls.List;
    import flash.geom.Point;
    import fl.events.*;
    
    public class customComboBox1 extends ComboBox
    {
    //--------------------------------------
    //  Class description
    //--------------------------------------
        private var listPoint:Point
        
        private static var defaultStyles:Object = {
                upSkin:"ComboBox_upSkin",
                downSkin:"ComboBox_downSkin",
                overSkin:"ComboBox_overSkin",
                disabledSkin:"ComboBox_disabledSkin",
                focusRectSkin:null, focusRectPadding:null,
                textFormat:null, disabledTextFormat:null, textPadding:3,
                buttonWidth:24,
                disabledAlpha:null, listSkin:null
                };
        protected static const LIST_STYLES:Object = {
            upSkin:"comboListUpSkin",
                overSkin:"comboListOverSkin",
                downSkin:"comobListDownSkin",
                disabledSkin:"comboListDisabledSkin",
                downArrowDisabledSkin:"downArrowDisabledSkin",
                downArrowDownSkin:"downArrowDownSkin",
                downArrowOverSkin:"downArrowOverSkin",
                downArrowUpSkin:"downArrowUpSkin",
                upArrowDisabledSkin: "upArrowDisabledSkin",
                upArrowDownSkin:"upArrowDownSkin",
                upArrowOverSkin:"upArrowOverSkin",
                upArrowUpSkin:"upArrowUpSkin",
                thumbDisabledSkin:"thumbDisabledSkin",
                thumbDownSkin:"thumbDownSkin",
                thumbOverSkin:"thumbOverSkin",
                thumbUpSkin:"thumbUpSkin",
                thumbIcon:"thumbIcon",
                trackDisabledSkin:"trackDisabledSkin",
                trackDownSkin:"trackDownSkin",
                trackOverSkin:"trackOverSkin",
                trackUpSkin:"trackUpSkin",
                repeatDelay:"repeatDelay",
                repeatInterval:"repeatInterval",
                textFormat:"textFormat",
                disabledAlpha:"disabledAlpha",
                skin:"listSkin"
                };
        protected static const BACKGROUND_STYLES:Object = {
                overSkin:"overSkin",
                downSkin:"downSkin",
                upSkin:"upSkin",
                disabledSkin:"disabledSkin",
                repeatInterval:"repeatInterval"
                };
                
        public static function getStyleDefinition():Object {
            return mergeStyles(defaultStyles, List.getStyleDefinition());
        }
        public static var createAccessibilityImplementation:Function;
        
        public function customComboBox1():void
        {
            super()
            
        }
        override protected function positionList():void {
            super.positionList()
            var p:Point = localToGlobal(new Point(0,0));
            list.x = p.x;
            if (p.y + height + list.height > stage.stageHeight) {
                list.y = p.y - list.height;
            } else {
                list.y = p.y + height;
            }
        }
        
        
    }
    
}

作者: aglice   发布时间: 2011-01-29

扩展一样要把ComboBox组件拖到库里才能用

作者: HBrO   发布时间: 2011-02-12