您当前的位置: 首页 >  ar

Jave.Lin

暂无认证

  • 3浏览

    0关注

    704博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

AS3 VerticalTrackBarRuler ---- 垂直摄量条

Jave.Lin 发布时间:2012-04-12 15:12:03 ,浏览量:3

VerticalTrackBarRuler类:

package 
{
	/**
	 * 跟踪条的尺寸类
	 * @author Jave.Lin
	 */	
	public class VerticalTrackBarRuler extends Control
	{
		public override function set width(value:Number):void
		{
			if(width!=value)
			{
				_w=value;					
				
				refreshBackground();
			}
		}
		
		public override function set height(value:Number):void
		{
			if(height!=value)
			{
				_h=value;
				
				refreshBackground();
			}
		}
		
		public function VerticalTrackBarRuler()
		{
			super();
		}
		
		protected override function initialize():void
		{
			_w=100;
			_h=10;
			
			refreshBackground();
		}
		
		protected override function refreshBackground():void
		{
			this.graphics.clear();
			
			this.graphics.lineStyle(.5);
			this.graphics.beginFill(0,.4);
			this.graphics.drawRect((width/2-width/8),0,width/4,height);
			this.graphics.endFill();
		}
	}
}
VerticalTrackBar类:

package
{
	import controlsEvents.TrackBarEvent;
	
	import flash.events.Event;
	import flash.events.MouseEvent;
	
	
	/**
	 * 垂直跟踪条类(我自己认为是:摄量条)
	 * @author Jave.Lin
	 */	
	public class VerticalTrackBar extends Control
	{
		private var _isDrawBorder:Boolean=true;
		private var _isDrawBackground:Boolean=true;
		
		private var _trackBarRuler:VerticalTrackBarRuler;
		private var _trackBarButton:TrackBarButton;
		
		private var _curValue:int=0;//当前值
		private var _minValue:int=0;//最小值
		private var _maxValue:int=100;//最大值
		private var _increment:int=5;//每次操作的增/减量
		
		private var _minPos:Number;//滚动器最近的距离
		private var _maxPos:Number;//滚动器最远的距离
		
		private var _buttonW:Number=10;
		private var _buttonH:Number=10;
		
		public function get buttonW():Number
		{
			return _buttonW;
		}
		
		public function set buttonW(value:Number):void
		{
			if(_buttonW!=value)
			{
				_w=_buttonW=value;
				
				refreshBackground();
				onLayout();
			}
		}
		
		public function get buttonH():Number
		{
			return _buttonH;
		}
		
		public function set buttonH(value:Number):void
		{
			if(_buttonH!=value)
			{
				_buttonH=value;
				
				refreshBackground();
				onLayout();
			}
		}
		
		//是否绘制边框
		public function get isDrawBorder():Boolean
		{
			return _isDrawBorder;
		}
		
		public function set isDrawBorder(value:Boolean):void
		{
			if(_isDrawBorder!=value)
			{
				_isDrawBorder=value;
				
				refreshBackground();
			}
		}
		//是否绘制背景
		public function get isDrawBackground():Boolean
		{
			return _isDrawBackground;
		}
		
		public function set isDrawBackground(value:Boolean):void
		{
			if(_isDrawBackground!=value)
			{
				_isDrawBackground=value;
				
				refreshBackground();
			}
		}
		
		public function get maxValue():int
		{
			return _maxValue;
		}
		
		public function set maxValue(value:int):void
		{
			if(_maxValue!=value)
			{
				if(_minValue>value)throw new Error("HorizontalTrackBar maxValue less then minValue error! maxValue:"+value+" minValue:"+_minValue);
				_maxValue=value;
				if(curValue>_maxValue)curValue=_maxValue;
			}
		}
		
		public function get minValue():int
		{
			return _minValue;
		}
		
		public function set minValue(value:int):void
		{
			if(_minValue!=value)
			{
				if(value>_maxValue)throw new Error("HorizontalTrackBar minValue more then maxValue error! minValue:"+value+" maxValue:"+_maxValue);
				_minValue=value;
				if(curValue            
关注
打赏
1664331872
查看更多评论
0.0371s