不让其超出系统边界,侦听其move事件,不用改写组件。
代码:
var newWin:spark.components.TitleWindow=win as spark.components.TitleWindow; newWin.addEventListener(MoveEvent.MOVE,moveRhandler); PopUpManager.addPopUp(newWin,this,false); PopUpManager.centerPopUp(newWin ); } private function moveRhandler(event:MoveEvent):void { var dx:Number=(event.currentTarget as spark.components.TitleWindow).x; var dy:Number=(event.currentTarget as spark.components.TitleWindow).y; var comp:spark.components.TitleWindow=event.currentTarget as spark.components.TitleWindow; if(dx<0) comp.x=0; if(dx>FlexGlobals.topLevelApplication.width-comp.width) comp.x=FlexGlobals.topLevelApplication.width-comp.width; if(dy<0) comp.y=0; if(dy>FlexGlobals.topLevelApplication.height-comp.height) comp.y=FlexGlobals.topLevelApplication.height-comp.height; }