1、主要做法是重写:
override protected function moveArea_mouseDownHandler(event:MouseEvent):void{}
override protected function moveArea_mouseMoveHandler(event:MouseEvent):void{}
override protected function moveArea_mouseUpHandler(event:Event):void{}
package com
{
import flash.events.Event;
import flash.events.MouseEvent;
import mx.core.FlexGlobals;
import spark.components.TitleWindow;
import flash.geom.Rectangle;
public class MyWindow extends TitleWindow
{
public function MyWindow()
{
super();
}
override protected function moveArea_mouseDownHandler(event:MouseEvent):void
{
startDrag(false, new Rectangle(0, 0, this.parentApplication.width - this.width, this.parentApplication.height - this.height));
super.moveArea_mouseDownHandler(event);
}
override protected function moveArea_mouseMoveHandler(event:MouseEvent):void
{
if(this.x<=0||this.y<=0||this.x>=(FlexGlobals.topLevelApplication.stage.stageWidth-this.width)||this.y>= (FlexGlobals.topLevelApplication.stage.stageHeight-this.height))
{
event.stopImmediatePropagation();
}else
{
super.moveArea_mouseMoveHandler(event);
}
}
override protected function moveArea_mouseUpHandler(event:Event):void
{
stopDrag();
super.moveArea_mouseUpHandler(event);
}
}
}