对于 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了.