文本、文件拖入;文本、文件拖出 自定义拖拽方案
来gif:在看截图:
1文件支持:
2多文件支持:
3文本支持(Unicode与Ansi ):(需要支持文本拖放的窗口,比如你的易语言拖放对象.接收文本=真 才能接收到本程序拖出去的数据)
更新日志:
原帖:http://bbs.eyuyan.com/read.php?tid=384944[直接复制到浏览器]某易友的这个方法好
1新增拖出时候的图标显示(非窗口模拟)
2修复内存泄露的问题
3增加注释方便新手理解
4增加文本 多文件的支持
私有格式(这个就留给你们自己扩展了)
也就是说可以实现这样:比如你程序自己拖出的项目,只有你自己的程序可以接收
其实很简单,IDropSource(拖出组件) IDropTarget(拖放组件) 都需要调用IDataObject接口 前者是设置数据后者是获取数据自己处理就好
引用:
GDIPlus类2.3kyozy(用于位图句柄的获取)
ETAL路过已错过(用于com接口的支持)
向以上作者的开源精神致敬!
说明:
1本代码最难理解的是com接口,易语言本身不支持,需要ETAL模块将易语言的类转com的类,其实你理解了com接口基本就读懂了这段代码
2实现的接口 (对代码不懂可以自己百度以下接口)
IDataObject(我们给他取名叫数据源接口,调用方通过CallObject()调用IDataObject类来获取数据,然后做出处理)
IDropTarget(我们给他取名叫拖放处理接口,DragEnter()DragOver()DragLeave()Drop()就是回调过程 类似子类化的回调过程)
IDropSource(我们跟他取名叫拖出接口,它也有2个回调函数 ,它主要处理回调 数据由IDataObject提供)
3调用的接口
IDragSourceHelper(鼠标拖出的图标显示,就和API一样,只不过调用方法不同)
IDropTargetHelper(鼠标拖入的图标显示,就和API一样,只不过调用方法不同)
4 CallObject()函数 参数二索引[整数型]的问题
索引=看c++的头文件,看类定义(比如IDataObject.GetData=3)从第一个方法开始数数到你要调用的方法 索引从0开始
下面附件
————————————————————————————————
链接:**** Hidden Message ***** 密码:st6w转自:易语言论坛备份:**** Hidden Message *****
支持一下 拿分走人呵呵,楼下继续!楼主厉害了哦 感觉不明觉厉下载看看 只能说GIF质量太差 af8zaf8zaf8z 支持楼主感谢分享
感觉不明觉厉 感谢分享~ 没搞明白什么意思
页:
[1]
2