?
- <pre?name="code"?class="html">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();??
-
??????thisthis.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();??
-
??????thisthis.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")??
- ??????{??
- ????????//恢复正常状态下窗口位置、大小??
-
????????thisthis.x=this.normalX;??
-
????????thisthis.y=this.normalY;??
-
????????thisthis.width=this.normalWidth;??
-
????????thisthis.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);??
- ??????//设置两个新添的按钮的位置??
-
??????thisthis.maxSizeButton.x=this.titleBar.width-43;??
-
??????thisthis.minSizeButton.x=this.titleBar.width-60;??
- ???????
- ??????//调整状态文本的位置,左移一段位置??
-
??????this.statusTextField.x-=32;??
- ????}??
- ??}???
- }??
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|