Flex4 的 TitleWindow创建
Creating a pop-up window
程序代码
01.<?xml version="1.0" encoding="utf-8"?> 02.<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> 03. <mx:Style> 04. Panel{ 05. fontSize:12px 06. } 07. Button{ 08. fontSize:12px 09. } 10. 11. </mx:Style> 12. <mx:Script> 13. <![CDATA[ 14. import mx.managers.PopUpManager; 15. import mx.containers.TitleWindow; 16. import flash.geom.Point; 17. 18. 19. private var point1:Point = new Point(); 20. private function openWin():void 21. { 22. var login:Win2=Win2(PopUpManager.createPopUp(this,Win2,true)); 23. point1.x=(p1.width-login.width)/2; 24. point1.y=(p1.height-login.height)/2; 25. login.x=point1.x+35; 26. login.y=point1.y+35; 27. login.loginUserName=returnValue; 28 } 29. ]]> 30. </mx:Script> 31. <mx:Panel id="p1" x="97" y="65" width="800" height="600" layout="absolute" title="弹出窗口测试"> 32. <mx:Button id="myButton" x="257" y="302" label="Login" click="openWin()"/> 33. <mx:Text id="returnValue" text="" /> 34. </mx:Panel> 35. 36.</mx:Application> 我们通过(p1.width-login.width)/2和(p1.height-login.height)/2实现弹出窗口的居中! Win2.mxml 01.<?xml version="1.0" encoding="utf-8"?> 02.<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="500" height="400"showCloseButton="true"> 03. <mx:Script> 04. <![CDATA[ 05. import mx.managers.PopUpManager; 06. import mx.containers.TitleWindow; 07. import flash.geom.Point; 08. import mx.controls.Text; 09. 10. private var point1:Point = new Point(); 11. public var loginUserName:Text; 12. public var loginUserPwd:Text; 13. private function closeWin():void 14. { 15. PopUpManager.removePopUp(this); 16. } 17. 18. private function openNewWin():void 19. { 20. login:Win1=Win1(PopUpManager.createPopUp( this,Win1,true)); 21. point1.x=(this.width-login.width)/2; 22. point1.y=(this.height-login.height)/2; 23. login.x=point1.x+5; 24. login.y=point1.y+5; 25. 26. } 27. 28. private function loginOk():void 29. { 30 loginUserName.text=username.text; 31 PopUpManager.removePopUp(this); 32. } 33. ]]> 34. </mx:Script> 35. <mx:Style> 36. Label{fontSize:12px;} 37. </mx:Style> 38. <mx:Button x="139" y="258" label="open new" click="openNewWin()"/> 39. <mx:Button x="282" y="258" label="close" click="closeWin()"/> 40. <mx:Label x="139" y="87" text="用户名:"/> 41. <mx:Label x="139" y="134" text="密 码:"/> 42. <mx:TextInput x="200" y="87" id="username"/> 43. <mx:TextInput x="200" y="134" id="userpwd" displayAsPassword="true"/> 44. <mx:Button x="227" y="258" label="ok" click="loginOk()"/> 45.</mx:TitleWindow> <div class="dp-highlighter bg_javascript"><div class="bar"><div class="tools"><b>[javascript]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;">view plain</a><a href="#" class="CopyToClipboard" title="copy" onclick="dp.sh.Toolbar.Command('CopyToClipboard',this);return false;">copy</a><a href="#" class="PrintSource" title="print" onclick="dp.sh.Toolbar.Command('PrintSource',this);return false;">print</a><a href="#" class="About" title="?" onclick="dp.sh.Toolbar.Command('About',this);return false;">?</a><div style="position: absolute; left: 0px; top: 0px; width: 0px; height: 0px; z-index: 99;"><embed id="ZeroClipboardMovie_6" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="0" height="0" name="ZeroClipboardMovie_6" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=6&width=0&height=0" wmode="transparent"></div></div></div><ol start="1" class="dp-c"><li class="alt"><span><span><strong><span?style=</span><span class="string">"color:#ff0000;"</span><span>>loginUserName.text=username.text;</span></strong>??</span></span></li></ol></div><pre class="javascript" name="code" style="display: none;"><strong><span style="color:#ff0000;">loginUserName.text=username.text;</span></strong></pre>由于loginUserName是父窗口传过来的组件,所以此句赋值就是把子窗口的返回值传到父窗口。 <pre></pre> <div class="dp-highlighter bg_javascript"><div class="bar"><div class="tools"><b>[javascript]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;">?</a><div style="position: absolute; left: 0px; top: 0px; width: 0px; height: 0px; z-index: 99;"><embed id="ZeroClipboardMovie_7" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="0" height="0" name="ZeroClipboardMovie_7" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=7&width=0&height=0" wmode="transparent"></div></div></div><ol start="1" class="dp-c"><li class="alt"><span><span>??</span></span></li></ol></div><pre class="javascript" name="code" style="display: none;"></pre><div class="dp-highlighter bg_javascript"><div class="bar"><div class="tools"><b>[javascript]</b> <a href="#" class="ViewSource" title="view plain" onclick="dp.sh.Toolbar.Command('ViewSource',this);return false;">?</a><div style="position: absolute; left: 0px; top: 0px; width: 0px; height: 0px; z-index: 99;"><embed id="ZeroClipboardMovie_8" src="http://static.blog.csdn.net/scripts/ZeroClipboard/ZeroClipboard.swf" loop="false" menu="false" quality="best" bgcolor="#ffffff" width="0" height="0" name="ZeroClipboardMovie_8" align="middle" allowscriptaccess="always" allowfullscreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="id=8&width=0&height=0" wmode="transparent"></div></div></div><ol start="1" class="dp-c"><li class="alt"><span><span>??</span></span></li></ol></div><pre class="javascript" name="code" style="display: none;"></pre> <p><br> </p> <div class="UBBContent">PopUpManager.removePopUp(this);可以移除当前弹出窗口;注意:弹出窗口的关闭按钮在默认状态时是不能关闭当前窗口的,需要使用下面两种方法:<br> </div> <div class="UBBContent"><mx:TitleWindow xmlns:mx="<a target="_blank">http://www.adobe.com/2006/mxml</a>" layout="absolute" showCloseButton="true"<span style="color:red"><strong>close="{PopUpManager.removePopUp(this)}</strong></span>"></div> <div class="UBBContent">或者:</div> <div class="UBBContent"><br> <mx:TitleWindow xmlns:mx="<a target="_blank">http://www.adobe.com/2006/mxml</a>" creationComplete="addEventListener(<span style="color:red"><strong>CloseEvent.CLOSE</strong></span>,closeWindow);" showCloseButton="true"><br> < mx:Script><br> < ![CDATA[<br> import mx.managers.PopUpManager;<br> import mx.events.CloseEvent;<br> <br> private function closeWindow(ev:CloseEvent):void {<br> PopUpManager.removePopUp(this);<br> }<br> ]]><br> < /mx:Script><br> < /mx:TitleWindow><br> </div> <p>?</p>public var firstWindow:FirstWindow = new FirstWindow(); public var linetWindow:LineRender = new LineRender(); //使用组件对象打开弹出式窗口的最大好处是可以重用组件并保持所以的状态值. private function createWindow(e:MouseEvent):void { firstWindow.addEventListener("pop",getWindowData); PopUpManager.addPopUp(firstWindow,this,false); PopUpManager.centerPopUp(firstWindow); windowInnerStartDragging(e); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |