鼠标拖动事件

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
      xmlns:s="library://ns.adobe.com/flex/spark"
      xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">
 <s:layout>
  <s:BasicLayout/>
 </s:layout>
 <fx:Declarations>
  <!-- 将非可视元素(例如服务、值对象)放在此处 -->
 </fx:Declarations>
 
 
 
 <mx:Canvas backgroundColor="#000000" mouseDown="startMove(event)" mouseUp="stopMove(event)"  width="400" height="300" >
  <fx:Script>
   <![CDATA[
   import mx.core.DragSource;
   import mx.managers.DragManager;
   /****************************************************************************
   * 控件A
   * 用于拖动,捕获mouseDown 和 mouseUp事件,触发拖动
   ****************************************************************************/
   
   /**
   * 鼠标按下事件处理方法
   */
   private function startMove(event:Event):void 
   { 
   //Sprite 类的startDrag方法来触发拖动
   Sprite(event.target).startDrag(); 
   
   //其他控件感知拖动事件,需要用DragManager的doDrag 方法触发
   var obj:DragSource=new DragSource();
   //Data 包含,拖动时该控件的x,y 信息
   var location:String=this.x+","+this.y;
   obj.addData(location,"LocationFormat");
   var mouseEvent:MouseEvent=new MouseEvent(MouseEvent.MOUSE_DOWN);
   DragManager.doDrag(this,obj,mouseEvent);
   } 
   /**
   * 鼠标弹起事件处理方法
   */
   private function stopMove(event:Event):void 
   { 
   //Sprite 类的stopDrag 方法来触发停止拖动
   Sprite(event.target).stopDrag(); 
   } 
   
   
   ]]>
  </fx:Script>
  <mx:Button x="48.5" y="38" label="A" width="161" height="89" fontSize="28"/>
  
 </mx:Canvas>
 
</s:Application>

转载于:https://www.cnblogs.com/wshsdlau/p/3614722.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值