拖动生成文件

虽然下面代码有些毛病,但是还是记录下来为好,以便研究

<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" applicationComplete="init()" >
 <mx:Script>
  <![CDATA[
   import flash.desktop.ClipboardFormats;
   import flash.desktop.NativeDragManager;
   import flash.events.NativeDragEvent;
   import flash.filesystem.File;
   import flash.filesystem.FileMode;
   import flash.filesystem.FileStream;
   private var i:int; 
   public function init():void
   {
    btnCopy.addEventListener(MouseEvent.MOUSE_DOWN,dragOut,false,0,true);
    btnCopy.addEventListener(MouseEvent.MOUSE_UP,dragOuts,false,0,true);
    //btnCopy.addEventListener(NativeDragEvent.NATIVE_DRAG_COMPLETE,dragEnd2,false,0,true);
    btnCopy.addEventListener(NativeDragEvent.NATIVE_DRAG_OVER,dragEnd2,false,0,true);
   }
     
       private function createTextFile():File
       {
           var ofile:File = File.desktopDirectory.resolvePath("data.txt");
           ofile.deleteFile();
          var osfile:FileStream = new FileStream();
             osfile.open(ofile, FileMode.UPDATE);
             osfile.writeUTFBytes(dragtext.text);
             osfile.close();
             return ofile;
         }
  private var cb:Clipboard;
        private function createClipboard():Clipboard
        {
         cb = new Clipboard();
         cb.setData(ClipboardFormats.FILE_LIST_FORMAT,new Array(createTextFile()));
         return cb;
        }

  private function dropData(event:MouseEvent):void
  {
   i =i+1;
       btnCopy.label=i.toString();
          var transfer:Clipboard = createClipboard();
          NativeDragManager.doDrag(dragtext,transfer); 

        }
  private function dragOut(event:MouseEvent):void
  {
   i =i+1;
       btnCopy.label=i.toString();
          btnCopy.addEventListener(MouseEvent.ROLL_OUT,dropData,false,0,true);
        }
  private function dragOuts(event:MouseEvent):void
  {
   i =i+1;
       btnCopy.label=i.toString();
          btnCopy.removeEventListener(MouseEvent.ROLL_OUT,dropData,true);
        }
        private function dragEnd2(event:MouseEvent):void {
       
          i =i+1;
       btnCopy.label=i.toString();
          btnCopy.removeEventListener(MouseEvent.ROLL_OUT,dropData);
        }

]]>
</mx:Script>
<mx:Button id="btnCopy" x="91" y="156" label="Copy"/>
<mx:TextArea top="10" right="10" bottom="10" left="251"   id="outputField" /> 
<mx:Text text="Drag a Text File into the Application" id ="dragtext"   width="233" height="148" top="11" left="10"/>
</mx:WindowedApplication> 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值