当前位置: 代码迷 >> Web前端 >> 带放大缩小旋钮的TitleWindow
  详细解决方案

带放大缩小旋钮的TitleWindow

热度:91   发布时间:2012-10-29 10:03:53.0
带放大缩小按钮的TitleWindow

package tracing.customComponent.Statistics
{
?import flash.events.MouseEvent;
?
?import mx.containers.TitleWindow;
?import mx.controls.Button;
?
?public class MyWindow extends TitleWindow
?{
??public function MyWindow()
??{
???super();
??}
??protected var maxSizeButton:Button; //最大化按钮
??protected var minSizeButton:Button; //最小化按钮
??
??//正常状态下窗口的大小、位置
??protected var normalX:int,normalY:Number,normalWidth:int,normalHeight:int;
??
??//初始状态
??protected var winState:String="normal";
??
??override protected function createChildren():void
??{
???super.createChildren();
???
???//创建最大化按钮
???this.maxSizeButton=new Button();
???this.maxSizeButton.width=this.maxSizeButton.height=16;
???this.maxSizeButton.y=6;
???//添加最大化事件
???this.maxSizeButton.addEventListener(MouseEvent.CLICK,OnMaxSize);
???this.titleBar.addChild(this.maxSizeButton);
???
???//创建最小化按钮
???this.minSizeButton=new Button();
???this.minSizeButton.width=this.minSizeButton.height=16;
???this.minSizeButton.y=6;
???//添加最小化事件
???this.minSizeButton.addEventListener(MouseEvent.CLICK,OnMinSize);
???this.titleBar.addChild(this.minSizeButton);
??}
??protected function OnMaxSize(e:MouseEvent):void
??{
???if(winState=="normal")
???{
????//保存正常状态下窗口位置、大小
????normalX=this.x;
????normalY=this.y;
????normalHeight=this.height;
????normalWidth=this.width;
????
????//设置为最大化状态
????this.x=0;
????this.y=0;
????this.percentHeight=100;
????this.percentWidth=100;
????
????//最大化状态
????this.winState="max";
???}
???else if(this.winState=="max")
???{
????//恢复正常状态下窗口位置、大小
????this.x=this.normalX;
????this.y=this.normalY;
????this.width=this.normalWidth;
????this.height=this.normalHeight;
????
????//正常状态
????this.winState="normal";
???}
??}
??protected function OnMinSize(e:MouseEvent):void
??{
???//最小化,简单隐藏
???//this.visible=false;
???this.x = 0;
???this.y = 0;
???this.percentHeight = 1;
???this.percentHeight = 1;
???
???this.winState = "min";
??}
??override protected function layoutChrome(unscaledWidth:Number,
???????????? unscaledHeight:Number):void
??{
???super.layoutChrome(unscaledWidth,unscaledHeight);
???//设置两个新添的按钮的位置
???this.maxSizeButton.x=this.titleBar.width-43;
???this.minSizeButton.x=this.titleBar.width-60;
???
???//调整状态文本的位置,左移一段位置
???this.statusTextField.x-=32;
??}
?}
}

1 楼 zengyiwen_2011 2012-07-23  
你这个封装的类,在titleWindow里面哪个地方调。
2 楼 zengyiwen_2011 2012-07-23  
你上线的时候联系下我的QQ378181052,我想问下这个具体是怎么实现这个功能的。谢谢
  相关解决方案