关闭

flex_控制弹出式窗口位置;

标签: flexbuttonlibraryfunctionapplicationencoding
1653人阅读 评论(0) 收藏 举报
分类:

效果:通过单击窗口里边按钮可以使窗口移到相应位置;

=>WindowTitleCustom.mxml自定义组件

<?xml version="1.0" encoding="utf-8"?>

<s:TitleWindow xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx"
               width="300" height="120" close="onCloseWind()">
    
    <fx:Script>
        <![CDATA[
            import mx.managers.PopUpManager;
            
            /**
             * 关闭窗口;
             */
            protected function onCloseWind():void{
                PopUpManager.removePopUp(this);
            }
            
            /**
             * 移动窗口;
             */
            protected function moveWindTo(location:String):void{
                // 属性声明;
                var newX:Number = 0;
                var newY:Number = 0;
                var padding:Number = 10;
                
                // 居中显示:
                if(location == "center"){
                    PopUpManager.centerPopUp(this);
                    return;
                }
                
                if(location.indexOf("bottom") > -1) {
                    newY = (parent.height - this.height) - padding;
                }
                
                if(location.indexOf("top") > -1) {
                    newY = padding;
                }
                
                if(location.indexOf("left") > -1) {
                    newX = padding;
                }
                
                if(location.indexOf("right") > -1) {
                    newX = (parent.width - this.width) - padding;
                }
                
                move(newX, newY);
            }
        ]]>
    </fx:Script>
    
    <fx:Declarations>
        <!-- 非可视元素 -->
    </fx:Declarations>

    <!--view-->
    <s:VGroup horizontalCenter="0" verticalCenter="0" width="100%" height="100%">
        <s:HGroup width="100%">
            <s:Button id="tlBtn" label="左上角" width="100%" click="moveWindTo('toplet')"/>
            <s:Button id="trBtn" label="右上角" width="100%" click="moveWindTo('topright')"/>
        </s:HGroup>
        
        <s:VGroup width="100%" horizontalAlign="center">
            <s:Button id="alignBtn" label="中间" click="moveWindTo('center')"/>
        </s:VGroup>
        
        <s:HGroup width="100%">
            <s:Button id="blBtn" label="左下角" width="100%" click="moveWindTo('bottomleft')"/>
            <s:Button id="brBtn" label="右下角" width="100%" click="moveWindTo('bottomright')"/>
        </s:HGroup>
    </s:VGroup>
    
</s:TitleWindow>


=>主应用程序

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx"
               minWidth="1024" minHeight="768" pageTitle="TheStudioOfCenyebao"
               applicationComplete="initFn()">
    
    <fx:Script>
        <![CDATA[
            import com.learn.Window.WindowTitleCustom;
            
            import mx.managers.PopUpManager;
            
            protected var customWin:WindowTitleCustom;
            public function initFn():void{
                trace("=>Welcome to The Studio Of Cenyebao.");
                
                // 实例化并打开窗口:
                customWin = new WindowTitleCustom();
                PopUpManager.addPopUp(customWin, this, true);
                PopUpManager.centerPopUp(customWin);
                
                // 监听键盘:关闭窗口;
                stage.addEventListener(KeyboardEvent.KEY_UP, onKeyUpFn, false, 0, true);
            }
            
            /**
             * 使用Esc快捷键关闭窗口;
             */
            protected function onKeyUpFn(event:KeyboardEvent):void{
                if(event.keyCode == Keyboard.ESCAPE) {
                    PopUpManager.removePopUp(customWin);
                    trace("=>窗口已经关闭!");
                }
            }
        ]]>
    </fx:Script>
    
    <fx:Declarations>
        <!-- 非可视元素 -->
    </fx:Declarations>
    
    <!--view-->
</s:Application>

0
0

猜你在找
【直播】机器学习&数据挖掘7周实训--韦玮
【套餐】系统集成项目管理工程师顺利通关--徐朋
【直播】3小时掌握Docker最佳实战-徐西宁
【套餐】机器学习系列套餐(算法+实战)--唐宇迪
【直播】计算机视觉原理及实战--屈教授
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之矩阵--黄博士
【套餐】微信订阅号+服务号Java版 v2.0--翟东平
【直播】机器学习之凸优化--马博士
【套餐】Javascript 设计模式实战--曾亮
查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:243817次
    • 积分:3692
    • 等级:
    • 排名:第8720名
    • 原创:127篇
    • 转载:13篇
    • 译文:0篇
    • 评论:52条
    最新评论