让Flex控件 Canvas实现弹出窗口并拖动

来源:互联网 发布:成都菜鸟网络招聘 编辑:程序博客网 时间:2024/06/01 22:41

弹出窗口问题是需要解决的,以前一直在用panel,titleWindow控件实现,但很多外观表现用达到美工的效果,实现起来感觉不很方便.用Canvas是很方便的.但不支持拖动,今天想到方法了.

其实只要我们合理使用 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了.