开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2236|回复: 7
收起左侧

[易语言组件例程] 扩展功能支持库 设置文件拖放 VS 拖放支持库 拖放对象

[复制链接]
结帖率:86% (12/14)
发表于 2023-1-18 11:37:19 | 显示全部楼层 |阅读模式   浙江省台州市
有时发现扩展功能支持库也有一个设置文件拖放,不知道是把外面的文件拖到里面还是里面的文件拖到外面。我试了一下,发现是把外面文件拖到里面,而不是把里面文件拖到外面。
我也把拖放支持库的拖放对象放过来,发现拖放对象更简单,设置文件拖放比较难。
设置文件拖放,难就难在标签要接收多次反馈事件。
  
子程序名返回值类型公开备 注
_标签1_反馈事件整数型 
参数名类 型参考可空数组备 注
参数一整数型
参数二整数型
变量名类 型静态数组备 注
准备接收逻辑型 
当前文件整数型 
总文件数整数型 
如果 (准备接收)
调试输出 (参数一, 指针到文本 (参数二))
列表框1.加入项目 (指针到文本 (参数二), )
当前文件 = 当前文件 + 1
如果真 (当前文件 > 总文件数)
准备接收 = 假
' 输出调试文本 (“完毕”)

调试输出 (参数一, 参数二)
准备接收 = 真
列表框1.清空 ()
当前文件 = 1
总文件数 = 参数二

子程序名返回值类型公开备 注
_拖放对象1_得到文件  
参数名类 型参考可空数组备 注
接收到的文件路径文本型
变量名类 型静态数组备 注
文件名文本型0
i整数型 
列表框1.清空 ()
调试输出 (接收到的文件路径)
文件名 = 分割文本 (接收到的文件路径, #换行符, )
计次循环首 (取数组成员数 (文件名), i)
列表框1.加入项目 (文件名 [i], )
计次循环尾 ()


i支持库列表   支持库注释   
spec特殊功能支持库


再看一下帮助信息:
(我发现这个论坛不能设置展开收起一段文本,比较影响观感。要下代码请到帖子底部)
  1.     调用格式: 〈逻辑型〉 设置文件拖放 (整数型 标签句柄,整数型 控件句柄,... ) - 扩展功能支持库一->拖放功能
  2.     英文名称:DragFiles
  3.     将组件设置成拖放状态。本命令为初级命令。命令参数表中最后一个参数可以被重复添加。
  4.     参数<1>的名称为“标签句柄”,类型为“整数型(int)”。使用标签的反馈事件来操作拖放后的功能,标签反馈事件传递过来的参数中参数一为拖放的控件句柄,参数二第一次为拖放的文件个数,而后为拖放的文件名。
  5.     参数<2>的名称为“控件句柄”,类型为“整数型(int)”。需要设置成拖放状态的组件的句柄。

  6.     操作系统需求: Windows

复制代码
  1.     数据类型名称:拖放对象    英文名称:DropTarget
  2.     本数据类型为功能窗口组件型,共包含 2 个成员命令, 12 个成员属性, 4 个组件事件。
  3.     操作系统需求: Windows
  4.     提供对文本,超文本,URL,文件等对象的拖放支持。注意:(1) 某些被拖放对象具有多种属性,比如,URL既是URL又是超文本,如果“接收超文本”与“接收URL”都设为真,有URL被拖入时“得到超文本”与“得到URL”都会被激发。(2) 一个本控件的实例只能注册一个其它控件。
  5.     成员属性<1>的中文名称为“左边”,英文名称为“left”,类型为“整数型(int)”。
  6.     成员属性<2>的中文名称为“顶边”,英文名称为“top”,类型为“整数型(int)”。
  7.     成员属性<3>的中文名称为“宽度”,英文名称为“width”,类型为“整数型(int)”。
  8.     成员属性<4>的中文名称为“高度”,英文名称为“height”,类型为“整数型(int)”。
  9.     成员属性<5>的中文名称为“标记”,英文名称为“tag”,类型为“文本型(text)”。
  10.     成员属性<6>的中文名称为“可视”,英文名称为“visible”,类型为“逻辑型(bool)”。
  11.     成员属性<7>的中文名称为“禁止”,英文名称为“disable”,类型为“逻辑型(bool)”。
  12.     成员属性<8>的中文名称为“鼠标指针”,英文名称为“MousePointer”,类型为“字节集(bin)”。
  13.     成员属性<9>的中文名称为“接收文本”,英文名称为“Text”,类型为“逻辑型(bool)”。
  14.     是否接收文本拖收,真为接收,假为不接收。
  15.     成员属性<10>的中文名称为“接收超文本”,英文名称为“Html”,类型为“逻辑型(bool)”。
  16.     是否接收超文本拖收,真为接收,假为不接收。
  17.     成员属性<11>的中文名称为“接收URL”,英文名称为“Url”,类型为“逻辑型(bool)”。
  18.     是否接收URL拖收,真为接收,假为不接收。
  19.     成员属性<12>的中文名称为“接收文件”,英文名称为“File”,类型为“逻辑型(bool)”。
  20.     是否接收文件拖收,真为接收,假为不接收。

  21.     组件事件列表:
  22. 事件 1 :
  23.     事件名称:得到文本
  24.     有文本被拖放到放置本控件的窗体且“接收文本”属性为真时产生本事件。
  25.     此事件的用户处理子程序不需要返回数据。
  26.     事件参数<1>的名称为“接收到的文本”,类型为“文本型(text)”。参数值为接收到的文本。
  27. 事件 2 :
  28.     事件名称:得到超文本
  29.     有超文本被拖放到放置本控件的窗体且“接收超文本”属性为真时产生本事件。
  30.     此事件的用户处理子程序不需要返回数据。
  31.     事件参数<1>的名称为“接收到的超文本”,类型为“文本型(text)”。参数值为接收到的超文本。
  32. 事件 3 :
  33.     事件名称:得到URL
  34.     有URL被拖放到放置本控件的窗体且“接收URL”属性为真时产生本事件。
  35.     此事件的用户处理子程序不需要返回数据。
  36.     事件参数<1>的名称为“接收到的URL”,类型为“文本型(text)”。参数值为接收到的URL。
  37. 事件 4 :
  38.     事件名称:得到文件
  39.     有文件被拖放到放置本控件的窗体且“接收文件”属性为真时产生本事件。
  40.     此事件的用户处理子程序不需要返回数据。
  41.     事件参数<1>的名称为“接收到的文件路径”,类型为“文本型(text)”。参数值为接收到的文件名文本,如果拖放多个文件,那么每个文件路径通过“#换行符”分隔。

  42.     调用格式: 〈逻辑型〉 对象.注册拖放控件 (整数型 接收拖放控件句柄) - 拖放支持库->拖放对象
  43.     英文名称:RegisterDropTarget
  44.     注册一个控件,使其可以接收拖放,成功返回真,失败返回假。本命令为初级对象成员命令。
  45.     参数<1>的名称为“接收拖放控件句柄”,类型为“整数型(int)”。接收拖放控件句柄。

  46.     操作系统需求: Windows

  47.     调用格式: 〈无返回值〉 对象.撤消拖放控件 (整数型 接收拖放控件句柄) - 拖放支持库->拖放对象
  48.     英文名称:UnRegisterDropTarget
  49.     撤消一个控件,使其不可以接收拖放。本命令为初级对象成员命令。
  50.     参数<1>的名称为“接收拖放控件句柄”,类型为“整数型(int)”。接收拖放控件句柄。

  51.     操作系统需求: Windows

  52.     成员属性“接收文本”所在数据类型为“拖放对象”,英文名称为“Text”,类型为“逻辑型(bool)”。
  53.     是否接收文本拖收,真为接收,假为不接收。

  54.     成员属性“接收超文本”所在数据类型为“拖放对象”,英文名称为“Html”,类型为“逻辑型(bool)”。
  55.     是否接收超文本拖收,真为接收,假为不接收。

  56.     成员属性“接收URL”所在数据类型为“拖放对象”,英文名称为“Url”,类型为“逻辑型(bool)”。
  57.     是否接收URL拖收,真为接收,假为不接收。

  58.     成员属性“接收文件”所在数据类型为“拖放对象”,英文名称为“File”,类型为“逻辑型(bool)”。
  59.     是否接收文件拖收,真为接收,假为不接收。

  60.     事件名称:得到文本
  61.     有文本被拖放到放置本控件的窗体且“接收文本”属性为真时产生本事件。
  62.     此事件的用户处理子程序不需要返回数据。
  63.     事件参数<1>的名称为“接收到的文本”,类型为“文本型(text)”。参数值为接收到的文本。

  64.     事件名称:得到超文本
  65.     有超文本被拖放到放置本控件的窗体且“接收超文本”属性为真时产生本事件。
  66.     此事件的用户处理子程序不需要返回数据。
  67.     事件参数<1>的名称为“接收到的超文本”,类型为“文本型(text)”。参数值为接收到的超文本。

  68.     事件名称:得到URL
  69.     有URL被拖放到放置本控件的窗体且“接收URL”属性为真时产生本事件。
  70.     此事件的用户处理子程序不需要返回数据。
  71.     事件参数<1>的名称为“接收到的URL”,类型为“文本型(text)”。参数值为接收到的URL。

  72.     事件名称:得到文件
  73.     有文件被拖放到放置本控件的窗体且“接收文件”属性为真时产生本事件。
  74.     此事件的用户处理子程序不需要返回数据。
  75.     事件参数<1>的名称为“接收到的文件路径”,类型为“文本型(text)”。参数值为接收到的文件名文本,如果拖放多个文件,那么每个文件路径通过“#换行符”分隔。

复制代码


拖放对象可以同时接收文本、超文本、URL、文件,并且调用也比较简单。
设置文件拖放需要用到标签,并且要接收多次反馈事件,第一次是告诉文件数量,后面几次是具体拖拽的文件名称。

还有拖放对象接收到了多份文件,每个文件用换行符隔开,要分割文本后依次遍历文件名


不啰嗦了,代码: 扩展功能支持库 设置文件拖放 VS 拖放支持库 拖放对象.e (4.22 KB, 下载次数: 37)
设置文件拖放VS拖放对象.PNG

本帖被以下淘专辑推荐:

结帖率:100% (4/4)

签到天数: 12 天

发表于 2024-3-25 07:52:20 | 显示全部楼层   山东省淄博市
感谢分享
回复 支持 反对

使用道具 举报

签到天数: 3 天

发表于 2023-5-31 23:57:40 | 显示全部楼层   广东省汕头市
非常感谢 刚需
回复 支持 反对

使用道具 举报

签到天数: 1 天

发表于 2023-2-5 12:06:39 | 显示全部楼层   江苏省苏州市
困难看啊效果。。。
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)

签到天数: 13 天

发表于 2023-1-18 12:44:04 | 显示全部楼层   山东省枣庄市
这俩库都有新的,没记错的话应该都支持unicode了,shellex是注册拖放控件监听,收到拖放向易语言发送拖放消息,消息值也是自定义的,逆向找出来了,如果复杂的拖放肯定是拖放控件更有自由度
回复 支持 反对

使用道具 举报

结帖率:17% (1/6)

签到天数: 1 天

发表于 2023-1-18 12:20:44 | 显示全部楼层   浙江省杭州市
感谢分享!
回复 支持 反对

使用道具 举报

签到天数: 12 天

发表于 2023-1-18 12:03:48 | 显示全部楼层   新疆维吾尔自治区乌鲁木齐市
谢谢分享
回复 支持 反对

使用道具 举报

结帖率:50% (1/2)

签到天数: 6 天

发表于 2023-1-18 11:54:48 | 显示全部楼层   四川省成都市
感谢分享!!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 诚聘英才| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 800073686,邮箱:800073686@b.qq.com
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表