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; } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |