为SimpleButton添加Disabled状态
作者:Flying 日期:2007-09-05
默认下,SimpleButton只有四种状态,如何使SimpleButton像Button组件一样具有Disabled状态呢?下面代码扩展了SimpleButton类,使SimpleButton具有Disabled状态,并能添加标签文本。
package {
import flash.display.DisplayObject;
import flash.display.SimpleButton;
public class DisabledSimpleButton extends SimpleButton
{
protected var enabledState: DisplayObject;
protected var disabledState: DisplayObject;
/**
* DisabledSimpleButton构造函数
*
* @param label 标签文本
*/
public function DisabledSimpleButton(label: String)
{
enabledState = new ButtonDisplayState(label, 0);
disabledState = new ButtonDisplayState(label, 3);
overState = new ButtonDisplayState(label, 1);
downState = new ButtonDisplayState(label, 2);
upState = enabledState;
hitTestState = upState;
}
/**
* 覆盖enabled属性的setter方法
* @param value Boolean 指定按钮是否处于启用状态
*/
override public function set enabled(value: Boolean):void
{
super.enabled = value;
// 设置鼠标事件是否可用
this.mouseEnabled = enabled;
// 按钮处于可用状态时,按钮弹起状态的显示对象不变,否则替换成不可用状态的显示对象,
upState = (enabled) ? enabledState : disabledState;
}
}
}
至于ButtonDisplayState类及使用方法,请参考源文件。点击此处下载。
上一篇: playerglobal.swc与apolloglobal.swc冲突
下一篇: 在AS中运用递归
文章来自: 本站原创
Tags: Actionscript3
相关日志:
评论: 0 | 引用: 0 | 查看次数: -
发表评论

