不让其超出系统边界,侦听其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;
}

本文介绍了一种方法,在不修改组件的情况下,通过监听移动事件来确保TitleWindow组件不会超出系统的预设边界。具体实现包括创建一个新的TitleWindow实例,添加移动事件监听器,并使用PopUpManager进行窗口管理与居中操作。当窗口尝试移动到边界之外时,通过调整其x和y坐标来限制其位置。
171

被折叠的 条评论
为什么被折叠?



