`

Flex 窗口最小化,最大化,拖动

    博客分类:
  • FLEX
阅读更多
想当初,我不知道如何用flex怎么做透明air程序,非常郁闷,今天被提起,于是总结一下这个知识。
目标:
1、去除windows标题栏、去除flex背景区域。
2、有自己DIY的最小化、最大化、关闭按钮
3、自由拖动、缩放窗体大小

实现:
1、修改"项目名-app.xml"中的rootContent设置,(大概在第70行),修改为
<rootContent systemChrome="none" transparent="true" visible="true">
将mxml中mx:WindowedApplication改成mx:Application

2、使用NativeWindow类
NativeWindow类中有几个方法:
1. maximize()最大化窗口
2.restore()恢复最大化的窗口
3.minimize()最小化窗口
4.close()关闭窗口
5.startMove()窗口的系统级拖拽
6.startResize()窗口的系统级改变大小
属性:
alwaysInFront 是否置前

有了这几个方法,写一个自定义的窗口就方便多了,具体源码:

程序代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" verticalScrollPolicy="off">
    <!--脚本-->
    <mx:Script>
        <![CDATA[
        /*                       
            NativeWindow类中需要用到的几个方法:
            1. maximize()最大化窗口
            2.restore()恢复最大化的窗口
            3.minimize()最小化窗口
            4.close()关闭窗口
            5.startMove()窗口的系统级拖拽
            6.startResize()窗口的系统级改变大小
            属性:
            alwaysInFront 是否置前
        */
            import flash.display.*;
            import flash.events.*;
           
            private function switchOnTop():void{//开关窗口置前
                stage.window.alwaysInFront=!stage.window.alwaysInFront;
            }
            private function dragWin():void{//窗口拖动
                if(stage.window.displayState == NativeWindowDisplayState.NORMAL){
                    stage.window.startMove();
                }
            }
            private function scaleWin():void{//窗口缩放
                stage.window.startResize();
            }
            private function minWin():void{//最小化
                stage.window.minimize();
            }
            private function closeWin():void{//关闭
                stage.window.close();
            }
            private function maxWin():void{//最大化/恢复
                if(stage.window.displayState == NativeWindowDisplayState.NORMAL){
                    maxBtn.label="恢";
                    stage.window.maximize();
                }else{
                    maxBtn.label="[ ]";
                    stage.window.restore();
                }
            }
        ]]>
    </mx:Script>
    <!--界面-->
    <mx:Canvas right="0" left="0" top="0" bottom="0" id="main" backgroundColor="#FFFFFF">
        <mx:Button label="Submit" horizontalCenter="0" bottom="10"/>
    <mx:Button label="X" id="closeBtn" click="closeWin()" right="0" top="0"/>
    <mx:Button label="_" id="minBtn" right="78" top="0" click="minWin()"/>
    <mx:Button label="[ ]" id="maxBtn" click="maxWin()" right="39" top="0"/>
    <mx:RichTextEditor right="10" left="10" top="30" bottom="40" text="这是一个窗口测试" fontSize="12">
    </mx:RichTextEditor>
    <mx:Label text="Window Test" height="20"  mouseDown="dragWin()" right="171" left="10" top="2" fontSize="12"/>
    <mx:Image source="scale.png" mouseDown="scaleWin()" right="0" bottom="0"/>
    <mx:Button label="Top" right="117" top="0" click="switchOnTop()"/>
    </mx:Canvas>
</mx:Application>
分享到:
评论

相关推荐

    flex窗口最大最小化

    本教程将详细讲解如何使用Flex来实现窗口的拖拽、最大化、最小化以及关闭功能,这些都是构建交互式用户界面的重要元素。 首先,让我们了解Flex的基本概念。Flex布局允许开发者对容器内的子元素进行灵活的排版,通过...

    flex TitleWindow自定义最大最小化

    在Flex编程中,TitleWindow是一种常用的组件,它用于创建具有标题栏、关闭、最小化和最大化按钮的标准窗口样式。在Flex应用中,我们可能需要对TitleWindow的行为进行自定义,例如改变其默认的最大化和最小化功能。本...

    Flex带最大化最小化按钮可拖动调整窗口大小的TitleWindow

    总结来说,这个Flex项目展示了如何创建一个功能丰富的TitleWindow,它包含最大化、最小化按钮,并且支持用户通过拖动来调整窗口大小。这个TitleWindow的实现涉及ActionScript 3编程,事件监听,以及对Flex容器特性的...

    flex4 做和QQ一样的窗体 最大化 最小化 关闭 拖动改变大小

    在Flex4中创建类似QQ应用的窗口功能,包括最大化、最小化、关闭以及拖动改变大小,是一项常见的GUI开发任务。这个项目通过一系列MXML文件实现,这些文件包含了界面元素的定义和交互逻辑。让我们详细了解一下如何利用...

    flex panel窗体有最小化最大化关闭

    在标题“flex panel窗体有最小化最大化关闭”中,我们关注的是Flex Panel的基本功能,即允许用户最小化、最大化和关闭窗体,同时窗体还具有可移动性。 1. **Flex Panel组件**:Flex Panel是Flex SDK中的一个基础...

    flex 窗体拖拽,可以自由拖拽,最大化,最小化等等

    "flex 窗体拖拽,可以自由拖拽,最大化,最小化等等"这一主题涉及到Flex中如何实现窗口的各种动态操作,包括但不限于窗体的移动、大小调整、最大化与最小化的功能。以下是对这些知识点的详细说明: 1. **窗体拖拽**...

    为flex panel添加最小,最大化和关闭按钮(修改版)

    在Flex编程中,一个常见的需求是为用户界面的组件,如Panel,提供基本的窗口操作功能,包括最小化、最大化和关闭。这个资源的主题就是针对Flex Panel进行的增强,解决了原生面板在这些功能上存在的问题,并且加入了...

    flex组件(放大、缩小、拖动、最大化、最小化)

    在本文中,我们将深入探讨如何使用Flex组件实现放大、缩小、拖动、最大化和最小化功能,这些都是现代Web应用中常见的交互元素。 首先,让我们理解Flex的基础概念。在CSS中,Flex布局(Flexible Box Layout)允许...

    可最大化、最小化和关闭的TitleWindow

    总的来说,这个“可最大化、最小化和关闭的TitleWindow”为Flex开发人员提供了一种强大的工具,可以创建更符合用户期望的窗口式应用程序,同时避免了Flexlib MDI组件的一些限制。通过深入理解和定制这个组件,开发者...

    flexmdi程序提供了很多功能,包括拖拽,最大化,最小化,各种效果等

    其次,FlexMDI包含了窗口的最大化和最小化功能。最大化功能可以让用户将当前窗口扩展到整个应用界面,以便专注于单个窗口的内容;而最小化功能则将窗口缩小到任务栏,便于切换到其他窗口。这些操作与传统的桌面应用...

    实现最大化、最小化、缩放功能的TitleWindow

    一个实现最大化、最小化、缩放功能的TitleWindow,是参照其他大虾的代码,然后自己写的一个TitleWindow,并且限制了TitleWindow的拖动区域。里面提供了一个MyTitleWindow.as和一个使用MyTitleWindow的.mxml的文件...

    flex 模仿WINDOWS窗口

    TitleWindow组件通常用于创建带有标题、可最小化、最大化和关闭功能的窗口,非常适合模仿Windows窗口的外观。 4. ActionScript 3.0:Flex的核心编程语言是ActionScript 3.0,它具有面向对象的特性,提高了性能和...

    flex mdi 窗口的使用

    这些子窗口可以在容器内自由移动、调整大小、最大化和最小化,甚至可以被堆叠或平铺。Flex MDI库提供了一系列组件和API,使得开发者可以轻松地在Flex应用中实现MDI功能。 以下是一些关键知识点: 1. **Flex MDI库...

    flexmdi_flex插件

    3. **窗口管理**:FlexMDI提供了窗口的管理API,包括打开新窗口、关闭窗口、最大化/最小化窗口、切换窗口焦点等。这使用户能够灵活地在多个子窗口之间切换和操作。 4. **布局策略**:MDIContainer可以配置不同的...

    Flex超炫 悬浮面板

    2. **最大最小化功能**:为了让面板可以最大化和最小化,我们需要添加相应的按钮或者使用标题栏上的双击事件。在ActionScript中,可以使用Stage的width和height属性获取应用的当前尺寸,然后在最大化时将面板尺寸...

    ReSizeTitleWindow

    标题窗口(TitleWindow)是Flex中一种特殊的组件,它具有标题栏,可以进行常见的窗口操作,如拖动、最小化、最大化和关闭。在Flex中,我们可以使用TitleWindow组件来创建自定义的弹出窗口,这些窗口有自己的标题栏,...

    Flex中支持缩放的TitleWindow

    这可以通过设置最小和最大宽度与高度来限制窗口的缩放范围。 为了提高用户体验,还可以添加平滑动画效果,使得缩放过程更加流畅。Flex中的Tween类可以帮助我们在缩放过程中添加缓动效果。 在实际开发中,我们可能...

    Flex开发平台搭建

    CatWindow提供窗口拖动、最小化、最大化、任务栏快速切换、桌面快捷方式、任务栏预览窗口和托盘图标的等功能,使得用户界面更接近桌面应用。 2. **Flex与Server通信**:Flex提供了多种与服务器进行数据交换的方式:...

    flex WebMacAir云桌面特效源代码

    开发者或学习者可以通过查看和分析这些源代码来理解如何使用Flex构建类似Mac Air桌面的用户界面效果,包括窗口拖动、缩放、最小化、最大化等常见桌面操作,以及可能的过渡动画和自定义图标行为。 【标签】"flex ...

    TitleWidonw

    TitleWindow是Adobe Flex框架中的一个核心组件,它用于创建具有标题栏、边界和操作按钮(如最大化、最小化、还原和关闭)的可自定义窗口。在Flex4中,TitleWindow进行了重写,以提供更丰富的功能和更好的用户体验。...

Global site tag (gtag.js) - Google Analytics