jekeyhui99 发表于 2019-6-4 19:25:26

Flex Air 窗口 接受文件拖入

通常桌面软件需要支援文件拖入然后打开文件的功能,步骤如下

1、在WindowedApplication 中注册两个事件监听器,监听NativeDragEvent.NATIVE_DRAG_ENTER (文件拖入窗口但未释放鼠标按键)和 NativeDragEvent.NATIVE_DRAG_DROP(释放鼠标按键)

this.addEventListener(NativeDragEvent.NATIVE_DRAG_DROP,onDrop);
this.addEventListener(NativeDragEvent.NATIVE_DRAG_ENTER,onDragIn);

监听NativeDragEvent.NATIVE_DRAG_ENTER 事件后,文件拖入窗口但未释放时,鼠标指针会产生变化,表明窗口已经开始捕捉到拖入的文件

2、处理NativeDragEvent.NATIVE_DRAG_ENTER 和 NativeDragEvent.NATIVE_DRAG_DROP事件

在NativeDragEvent.NATIVE_DRAG_ENTER的事件处理函数onDragIn中获取文件:

NativeDragManager.acceptDragDrop(this);

在NativeDragEvent.NATIVE_DRAG_DROP的事件处理函数onDrop中进行相关操作

var dropfiles:Array = event.clipboard.getData(ClipboardFormats.FILE_LIST_FORMAT) as Array;//支援多文件选择


页: [1]
查看完整版本: Flex Air 窗口 接受文件拖入