加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何防止组件在Flex 3中被拖出舞台

发布时间:2020-12-15 01:44:48 所属栏目:百科 来源:网络整理
导读:我认为这个问题有一个简单的解决方案,对我来说不够简单. 题: 如何限制Flex 3中的TitleWindow被拖出屏幕/舞台?有没有办法将TitleWindow限制在查看区域? 示例:假设我有一个占用100%屏幕的应用程序.接下来,我通过PopUpManager创建一个TitleWindow.然后我可
我认为这个问题有一个简单的解决方案,对我来说不够简单.

题:
如何限制Flex 3中的TitleWindow被拖出屏幕/舞台?有没有办法将TitleWindow限制在查看区域?

示例:假设我有一个占用100%屏幕的应用程序.接下来,我通过PopUpManager创建一个TitleWindow.然后我可以继续点击并按住(拖动)该窗口离开屏幕,然后释放鼠标按钮.那个窗口现在在某个地方丢失了.有没有办法防止窗户被拖到观察区域之外?

我在这里先向您的帮助表示感谢.

解决方法

这是一个非常古老的帖子,但这是另一种方式:
无论是否扩展组件,在TitleWindow定义中添加以下行:move:“doMove(event)”
导入应用程序库(导入mx.core.Application;)
并添加doMove函数:

private function doMove(event:Event):void
{//keeps TW inside layout
    var appW:Number=Application.application.width;
    var appH:Number=Application.application.height;
    if(this.x+this.width>appW)
    {
        this.x=appW-this.width;
    }
    if(this.x<0)
    {
        this.x=0;
    }
    if(this.y+this.height>appH)
    {
        this.y=appH-this.height;
    }
    if(this.y<0)
    {
        this.y=0;
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读