本帖最后由 sos263665629 于 2010-2-10 11:31 编辑
就是用户把文件拖入窗口, 我的程序能够接受并识别用户拖进来的是什么文件并能获取文件的路径和名字。
知道的告诉我下怎么实现的,谢谢 - <?xml version="1.0" encoding="utf-8"?>
- <mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
- <mx:Script>
- <![CDATA[
- import mx.events.DragEvent;
- import flash.events.NativeDragEvent;
- import mx.core.Application;
- import flash.desktop.NativeDragManager;
- import flash.desktop.Clipboard;
- import flash.desktop.ClipboardFormats;
- private function init():void
- {
- //之前把NativeDragEvent写成DragEvent了。导致点不出clipboard属性. 现在纠正过来了.
- this.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER, dragEnter);
- this.addEventListener(NativeDragEvent.NATIVE_DRAG_COMPLETE, dragComplete);
- this.addEventListener(NativeDragEvent.NATIVE_DRAG_START, dragStart);
- this.addEventListener(NativeDragEvent.NATIVE_DRAG_OVER, dragOver);
- this.addEventListener(NativeDragEvent.NATIVE_DRAG_EXIT, dragExit);
- this.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP, dragDrop);
- this.addEventListener(NativeDragEvent.NATIVE_DRAG_UPDATE, dragUpdate); }
- private function dragEnter(e:DragEvent):void
- {
-
- NativeDragManager.acceptDragDrop(this);
- trace("Enter");
- }
- private function dragComplete(e:DragEvent):void
- {
- trace("dragComplete");
- }
- private function dragStart(e:DragEvent):void
- {
- trace("start");
- }
- private function dragOver(e:DragEvent):void
- {
- trace("Over");
- }
- private function dragExit(e:DragEvent):void
- {
- trace("Exit");
- }
- private function dragDrop(e:DragEvent):void
- {
- trace("Drop");
- //在这里获取用户拖进来的文件路径和文件名
- var arr:Array = e.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;
- trace(arr[0].url+"/"+arr[0].name);
- }
- private function dragUpdate(e:NativeDragEvent):void
- {
- trace("update");
- }
- ]]>
- </mx:Script>
- </mx:WindowedApplication>
复制代码 |