我扩展的comboBox 类 不好用。。。
时间:2011-01-29
来源:互联网
只覆写了 计算列表坐标的函数 其他只有静态变量从新定义了 但是new出来之后,没有皮肤之类的。。。
复制内容到剪贴板
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;
}
}
}
}
代码:
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
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28