设置弹出窗口的具体位置?

时间:2013-02-06 08:40:13

标签: actionscript-3 flex flex4 flex3

实际上我的应用程序登录页面是Popup ..

private var login:Login;

        protected function loginPopUpHandler(event:MouseEvent):void
        {
            login = new Login();
            PopUpManager.addPopUp(login,this,true);
            PopUpManager.centerPopUp(login);
        }

听到Popup即将到来的中心...... 但我想在按钮下方弹出窗口..

即...当我们点击登录按钮弹出窗口将在按钮下面打开..

3 个答案:

答案 0 :(得分:2)

尝试:

var sym:Login = PopUpManager.createPopUp( this, Login) as Login;
    sym.x     = button.x; 
    sym.y     = button.y+button.height;

答案 1 :(得分:1)

首先,它取决于this是什么。例如this是您的“登录”按钮,您可以轻松地执行以下操作:

protected function loginPopUpHandler(event:MouseEvent):void
            {
                login = new Login();
                PopUpManager.addPopUp(login,this,true);
                PopUpManager.centerPopUp(login);
                login.x += loginButton.width / 2; // or any other number
                login.y += 123; //whatever number. try tweaking it
            }

如果您想将显示对象用作FlexGlobals.topLevelApplication as DisplayObject,那么您可能希望从event.target获取登录按钮并使用其坐标进行操作。试着尝试一下 你也许在使用坐标时必须使用localToGlobal属性。

答案 2 :(得分:0)

为我工作:

protected function loginPopUpHandler(event:MouseEvent):void
            {
                login = new Login();
                login.x = 10; // x value relative to "this"
                login.y = 123; // y value relative to "this"
                PopUpManager.addPopUp(login,this,true);

             }