<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <!--[CDATA[ import mx.containers.TitleWindow; import mx.managers.PopUpManager; function onclick(e:MouseEvent) { var t = new TitleWindow(); t.width = 200; t.height = 100; PopUpManager.addPopUp(t,e.currentTarget.parent,true); PopUpManager.centerPopUp(t); changeModalWindow(tn); } private function changeModalWindow(obj : DisplayObject) : void { var mw : DisplayObject = systemManager.getChildByName("modalWindow"); mw.x = obj.x; mw.y = obj.y; mw.width = obj.width; mw.height = obj.height; } ]]--> </mx:Script> <mx:TabNavigator id="tn" x="133" y="78" width="363" height="325"> <mx:Canvas label="A" width="100%" height="100%"> <mx:Button x="51" y="35" label="Button" click="onclick(event)"/> </mx:Canvas> <mx:Canvas label="B" width="100%" height="100%"> </mx:Canvas> <mx:Canvas label="C" width="100%" height="100%"> </mx:Canvas> </mx:TabNavigator> <mx:Tree x="0" y="78" width="125" height="325"></mx:Tree> <mx:Canvas x="0" y="0" width="496" height="70" backgroundColor="#FFFFFF"> </mx:Canvas> </mx:Application> 技巧就是: systemManager.getChildByName("modalWindow"); 在当前systemManager里取得这个遮罩实例,名称是定死的。 然后改大小和位置就可以了