在学习Flex的过程中,你可能会遇到Flex窗口的问题,这里和大家分享一下Flex弹出窗口的实现以及子父Flex窗口的数据交换,相信本文介绍一定会让你有所帮助。
Flex弹出窗口的实现以及子父Flex窗口的数据交换
Flex里使用PopUpManager.createPopUp(parent,class,modal[,initobj,outsideEvents])创建父一个子Flex窗口,该函数的参数说明如下:
◆parent一个引用,引用弹出Flex窗口所在的Flex窗口。
◆class一个引用,引用要创建的对象的类。
◆modal一个布尔值,它表明该Flex窗口是(true)否(false)是模式的。
◆initobj一个包含初始化属性的对象。此参数是可选的。
◆outsideEvents一个布尔值,指明在用户单击Flex窗口以外的区域时是(true)否(false)触发事件。此参数是可选的。
其中,前三个参数是必须的,后两个是可选的。第二个参数要和你的mxml文件名一致,第三个参数如果选择是则不允许弹出Flex窗口没关闭前操作父Flex窗口,反之则允许。
◆首先我们创建一个页面,关键代码如下:
- <mx:Buttonlabelmx:Buttonlabel="ShowWindow"click="showWindow(false)"width="150"/>
- <mx:Buttonlabelmx:Buttonlabel="ShowModalWindow"click="showWindow(true)"width="150"/>
- functionshowWindow(modal)
- {
- varpopup=mx.managers.PopUpManager.createPopUp(_root,login,modal,{deferred:true});
- }
然后我们创建一个TitleWindow,注意虽然也是mxml文件,但是它的定级元素不是Application而是TitleWindow,其余的地方和以前没什么两样了。
◆下面介绍子父Flex窗口的数据交换。
当子Flex窗口被创建的时候父Flex窗口就获得了一个子Flex窗口的实例,注意我用红子标出的变量。我们可以用该变量引用子Flex窗口内定义的全局变量,例如我在子Flex窗口中做如下定义:varname:String="哈哈";。在父Flex窗口中可以使用popup.name引用该变量。
同样,在子Flex窗口中我们可以使用"parent"来引用父Flex窗口中定义的变量,例如我在父Flex窗口中定义varage:String="24";。在子Flex窗口中可以使用parent.age引用这个变量。
【编辑推荐】