有的时候我们在titlewindow上会使用一些临时数据空间进行一些操作,比如进入某些场景,想进行操作,但是没有登陆,这时候弹出一个titlewindow进行一下登陆;要修改选中的数据,这时候弹出一个titlewindow进行详细的修改。
还有其他情况!
如果我们只是弹出这个窗体,没有多大难度,但是如果要在操作完之后,对父窗体的某些控件或父窗体本身进行一些更新、动画等等,那么就会要在titlewindow里操作完之后进行一些有关父窗体的额外操作。
父窗体的脚本如下:
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import view.back_admin.adminlogin;
import mx.managers.PopUpManager;
//adminlogin是titlewindow自定义弹出窗体
public function showAdminLogin():void
{
//创建一个adminlogin对象
var al:adminlogin=adminlogin(PopUpManager.createPopUp(this, adminlogin, true));
//把父窗体的控件对象传入到adminlogin
al.appobj=login;
if (login.visible == true)
{
login.visible=false;
//弹出窗体居中显示
PopUpManager.centerPopUp(al);
}
else
{
login.visible=true;
//调用弹出窗体的方法
al.goback();
}
}
]]>
</mx:Script>
弹出窗体的脚本如下
<mx:Script>
<![CDATA[
import mx.containers.Panel;
import mx.core.Application;
import mx.managers.PopUpManager;
//根据要传入的控件类型定义此属性
public var appobj:Panel;
public function goback():void
{
PopUpManager.removePopUp(this);
//操作控件属性
appobj.visible=true;
}
]]>
</mx:Script>