`
lxs647
  • 浏览: 517595 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

限制titlewindow窗口拖出主应用程序之外

 
阅读更多
<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2010/01/20/constraining-the-movement-on-a-spark-titlewindow-container-in-flex-4/ -->
<s:Application name="Spark_TitleWindow_windowMoving_afterBounds_test"
        xmlns:fx="http://ns.adobe.com/mxml/2009" 
        xmlns:s="library://ns.adobe.com/flex/spark">
    <s:controlBarContent>
        <s:Button id="btn"
                label="Launch TitleWindow"
                click="btn_clickHandler(event);" />
    </s:controlBarContent>
 
    <fx:Script>
        <![CDATA[
            import mx.core.UIComponent;
            import mx.events.CloseEvent;
            import mx.managers.PopUpManager;
            import spark.events.TitleWindowBoundsEvent;
 
            protected function titleWin_closeHandler(evt:CloseEvent):void {
                PopUpManager.removePopUp(evt.currentTarget as UIComponent);
            }
 
            protected function btn_clickHandler(evt:MouseEvent):void {
                PopUpManager.addPopUp(titleWin, this, true);
                PopUpManager.centerPopUp(titleWin);
            }
 
            protected function titleWin_windowMovingHandler(evt:TitleWindowBoundsEvent):void {
                if (evt.afterBounds.left < 0) {
                    evt.afterBounds.left = 0;
                } else if (evt.afterBounds.right > systemManager.stage.stageWidth) {
                    evt.afterBounds.left = systemManager.stage.stageWidth - evt.afterBounds.width;
                }
                if (evt.afterBounds.top < 0) {
                    evt.afterBounds.top = 0;
                } else if (evt.afterBounds.bottom > systemManager.stage.stageHeight) {
                    evt.afterBounds.top = systemManager.stage.stageHeight - evt.afterBounds.height;
                }
            }
        ]]>
    </fx:Script>
 
    <fx:Declarations>
        <s:TitleWindow id="titleWin"
                title="Spark TitleWindow"
                width="300"
                close="titleWin_closeHandler(event);"
                windowMoving="titleWin_windowMovingHandler(event);">
            <s:layout>
                <s:VerticalLayout paddingLeft="10" paddingRight="10"
                        paddingTop="10" paddingBottom="10" />
            </s:layout>
            <s:Label text="The quick brown fox jumps over the lazy dog."
                    fontSize="24"
                    width="100%"/>
        </s:TitleWindow>
    </fx:Declarations>
 
</s:Application>

 

主要的设置方法见代码中粗体部分、、、

 

from:http://blog.flexexamples.com/2010/01/20/constraining-the-movement-on-a-spark-titlewindow-container-in-flex-4/

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics