flex titleWindow添加最小化和最大化按纽as

来源:互联网 发布:duet display windows 编辑:程序博客网 时间:2024/05/22 02:09
package com.talkyun.rheaui.model{//MyWindow作用是为titleWindow添加窗体的最小化和最大化的功能  import flash.events.MouseEvent;  import mx.containers.TitleWindow;  import mx.controls.Button;  public class MyWindow extends TitleWindow  {    public function MyWindow()    {      super();      this.showCloseButton=true;    }    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=1200;        this.percentWidth=1000;               //最大化状态        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;    }    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;    }  } }

	
				
		
原创粉丝点击