加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-15 00:57:27 所属栏目:百科 来源:网络整理
导读: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 fu
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;
    }
  } 
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读