04 17 2009
使用PopUpManager创建子窗口
在Flex3中创建子窗口的例子:
首先建立父窗口
XML/HTML代码
- <?xml version="1.0"?>
- <!-- containers\layouts\MainMyLoginFormCast.mxml -->
- <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
- <mx:Script>
- <![CDATA[
- import mx.managers.PopUpManager;
- import mx.core.IFlexDisplayObject;
- import myComponents.MyLoginForm;
- // Additional import statement to use the TitleWindow container.
- import mx.containers.TitleWindow;
- private function showLogin():void {
- // Create the TitleWindow container.
- var helpWindow:TitleWindow =
- TitleWindow(PopUpManager.createPopUp(this, MyLoginForm, false));
- // Add title to the title bar.
- helpWindow.title="Enter Login Information";
- // Make title bar slightly transparent.
- helpWindow.setStyle("borderAlpha", 0.9);
- // Add a close button.
- // To close the container, your must also handle the close event.
- helpWindow.showCloseButton=true;
- }
- ]]>
- </mx:Script>
- <mx:VBox width="300" height="300">
- <mx:Button click="showLogin();" label="Login"/>
- </mx:VBox>
- </mx:Application>
子窗口的代码
XML/HTML代码
- <?xml version="1.0"?>
- <!-- containers\layouts\myComponents\MyLoginForm.mxml -->
- <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml">
- <mx:Script>
- <![CDATA[
- import mx.managers.PopUpManager;
- private function processLogin():void {
- // Check credentials (not shown) then remove pop up.
- PopUpManager.removePopUp(this);
- }
- ]]>
- </mx:Script>
- <mx:Form>
- <mx:FormItem label="User Name">
- <mx:TextInput id="username" width="100%"/>
- </mx:FormItem>
- <mx:FormItem label="Password">
- <mx:TextInput id="password"
- displayAsPassword="true"
- width="100%"/>
- </mx:FormItem>
- </mx:Form>
- <mx:HBox>
- <mx:Button click="processLogin();" label="OK"/>
- <mx:Button
- label="Cancel"
- click="PopUpManager.removePopUp(this);"/>
- </mx:HBox>
- </mx:TitleWindow>
使子窗口居中可以使用
PopUpManager.centerPopUp(MyLoginForm);
1 条记录 1/1 页