Размещение всплывающего окна в середине главного окна - PullRequest
2 голосов
/ 16 марта 2010

Я пытаюсь разместить всплывающее окно (TitleWindow) в середине основного окна приложения. как установить координаты моего всплывающего окна в главном окне приложения? Я попробовал функцию localToGlobal, но без удачи, я просто не могу получить главное окно x и y.

Спасибо заранее, Узи.

Ответы [ 3 ]

3 голосов
/ 16 марта 2010

Из Adobe Docs :

Просто вызовите метод centerPopUp в событии CreationComplete вашего TitleWindow.

private function handleCreationComplete():void {
  // Center the TitleWindow container 
  // over the control that created it.
  PopUpManager.centerPopUp(this);
}

Если вы создаете всплывающее окно из метода, вы также можете попробовать:

public function openWindow(event:MouseEvent):void {
  myPopUp = new TextArea();
  myPopUp.width= 220;
  myPopUp.height= 150;
  myPopUp.text = "Hold down the Shift key, and " + 
    "click in the TextArea to close it.";
  myPopUp.addEventListener(MouseEvent.CLICK, closeWindow);
  PopUpManager.addPopUp(myPopUp, this, true);
  PopUpManager.centerPopUp(myPopUp);
}

Редактировать: Вы также можете попробовать:

PopUpManager.centerPopUp(Application.application as DisplayObject);

или если компонент находится непосредственно на главном этапе вашего приложения

PopUpManager.centerPopUp(this.parent);

Второе редактирование: Если вы используете метод PopUpManager.addPopUp для запуска всплывающего окна, просто измените второй аргумент с this на this.parent (или любой другой компонент, который вам нравится). Второй аргумент сообщает PopUpManager, каков родитель вашего всплывающего окна. Проверьте Adobe Live Docs для получения дополнительной информации.

PopUpManager.addPopUp(myPopUp, this.parent, true);
0 голосов
/ 29 апреля 2011

@ узи оргад Я думаю, что это подойдет для вас, попробуйте это

var popup:Object ;
popup = PopUpManager.createPopUp(
                         FlexGlobals.topLevelApplication as DisplayObject, 
                         popupname, true);
PopUpManager.centerPopUp(popup as mx.core.IFlexDisplayObject);

FlexGlobals.topLevelApplication, поскольку DisplayObject указывает на основное приложение. Таким образом, всплывающее окно появляется в середине приложения

0 голосов
/ 17 марта 2010
myPopUp.x = (Application.application.width - myPopUp.width)/2
myPopUp.y = (Application.application.height - myPopUp.height)/2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...