读书人

急请各位老大帮帮忙flex popupmanag

发布时间: 2012-02-11 09:51:35 作者: rapoo

急,请各位老大帮帮忙,flex popupmanager 弹出的窗体
在flex里怎么让 popupmanager 弹出的窗体独立于主窗体,?
让弹出的窗体可以移动到主窗体范围外,
现在弹出的窗体只能在主窗体范围内移动,移出九不不显示了,
谢谢

[解决办法]
定义一个DesktopWindow:

XML code
<?xml version="1.0" encoding="utf-8"?><mx:Window xmlns:mx="http://www.adobe.com/2006/mxml"     systemChrome="none"     type="utility"     transparent="true"     alwaysInFront="true"     showStatusBar="false"     showGripper="false"     layout="absolute"     styleName="desktopWindow"></mx:Window>
[解决办法]
以为是显示Alert呢。
显示弹出窗口的话,只要弹出窗口继承Window,然后:
var window:AboutWindow = new AboutWindow();
window.open();
就可以了。用不着PopUpManager。
[解决办法]
XML code
<?xml version="1.0" encoding="utf-8"?><mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"     layout="absolute"     width="100%" height="100%"     showFlexChrome="false"     alwaysInFront="true"     creationComplete="{creationCompleteHandler(event)}">        <mx:Style source="style.css" />        <mx:Script>        <![CDATA[            import mx.events.FlexEvent;                        private var _mainWindow:MainWindow = null;            private var _desktopWindow:DesktopWindow = null;                        private function creationCompleteHandler(event:FlexEvent):void            {                this.nativeWindow.maximize();                _mainWindow = new MainWindow(); //这个是你的程序的主窗口                _mainWindow.open();                _desktopWindow = new DesktopWindow();                _desktopWindow.open();                _desktopWindow.maximize();                //将nativeWindow关闭, 实质上用_desktopWindow替换它,                 //这样整个程序显示在一个全屏的透明窗口中,                 //所以任何新建的窗口看起来也就显示在主窗口(_mainWindow)之外了                this.nativeWindow.close();             }        ]]>    </mx:Script>    </mx:WindowedApplication>
[解决办法]
主:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
<![CDATA[
import flash.events.MouseEvent;

protected function button1_clickHandler(event:MouseEvent):void
{
var aa:dfdsddd=new dfdsddd;
aa.open();
}

]]>
</mx:Script>
<mx:Button x="235" y="162" label="Button" click="button1_clickHandler(event)"/>

</mx:WindowedApplication>


pop:
<?xml version="1.0" encoding="utf-8"?>
<mx:Window xmlns="*" xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" maximizable="false" resizable="false"
clipContent="false" showStatusBar="false" width="530" height="180">




<mx:Button x="107" y="129" label="Cancel" id="cancelButton" height="34" />
<mx:Button x="202" y="129" label="Check for Updates" id="continueButton" height="34" />


</mx:Window>


不能用popupmanager

直接用open 就可以了。
------解决方案--------------------


按照你的要求,模仿了一个。 能满足你的要求吗?
ParentWin:

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute">
<mx:Script>
<![CDATA[
import flash.events.MouseEvent;
import mx.controls.Alert;

protected function button1_clickHandler(event:MouseEvent):void
{
var sub:SubWin=new SubWin();
sub.open();
sub.owner=this;
sub.obj=this;
this.enabled=false;
}

public function actionWin():void
{
this.setFocus();
this.enabled=true;
Alert.show("fdsdfd");
}
]]>
</mx:Script>
<mx:Button x="122"
y="161"
label="Button" id="btn"
click="button1_clickHandler(event)"/>
<mx:Button x="359"
y="161"
label="Button"
click="actionWin()"/>

</mx:WindowedApplication>


SubWin:
<?xml version="1.0" encoding="utf-8"?>
<mx:Window xmlns="*" xmlns:mx="http://www.adobe.com/2006/mxml" alwaysInFront="true"
layout="absolute" maximizable="false" resizable="false" horizontalAlign="center"
clipContent="false" showStatusBar="false" width="530" height="180">
<mx:Script>
<![CDATA[
import flash.events.MouseEvent;
public var obj:Object;
protected function cancelButton_clickHandler(event:MouseEvent):void
{
this.close();
ParentWin(obj).actionWin();
}

]]>
</mx:Script>
<mx:Button x="107" y="129" label="关闭" id="cancelButton" height="34" click="cancelButton_clickHandler(event)" />
</mx:Window>

读书人网 >flex

热点推荐