对于 Panel 和 它的继承类 如 Alert、TitleWindow 在
PopUpManager 管理弹出时,会将它的 isPopUp设置为 true ,Flex已经写好了拖动代码,
如果没有通过PopUpManager 弹出的 ,也可以手动将 isPopUp = true 也是可以拖动的。
而Canvas实现拖动也很简单,对stage 加 监听就可以了;
合理使用 startDrag和stopDrag这两个方法.一切OK.
以下是主要思路和代码:
给 Canvas注册鼠标按下和松开事件,在事件里写方法.
this.addEventListener(MouseEvent.MOUSE_UP,onMouseEventHandler);
this.addEventListener(MouseEvent.MOUSE_DOWN,onMouseEventHandler);
private function onMouseEventHandler(evt:MouseEvent):void
{
switch (evt.type)
{
case "mouseDown" :
evt.currentTarget.startDrag();
break;
case "mouseUp" :
evt.currentTarget.stopDrag();
break;
default:
break;
}
}
至于要实现弹出窗口,就用PopUpManager了.