有时发现扩展功能支持库也有一个设置文件拖放,不知道是把外面的文件拖到里面还是里面的文件拖到外面。我试了一下,发现是把外面文件拖到里面,而不是把里面文件拖到外面。
我也把拖放支持库的拖放对象放过来,发现拖放对象更简单,设置文件拖放比较难。
设置文件拖放,难就难在标签要接收多次反馈事件。
|
_标签1_反馈事件 | 整数型 | | |
参数一 | 整数型 | | | | 参数二 | 整数型 | | | |
变量名 | 类 型 | 静态 | 数组 | 备 注 | 准备接收 | 逻辑型 | | | 当前文件 | 整数型 | | | 总文件数 | 整数型 | | | 如果 (准备接收 )调试输出 (参数一, 指针到文本 (参数二 )) 列表框1. 加入项目 (指针到文本 (参数二 ), )当前文件 = 当前文件 + 1 如果真 (当前文件 > 总文件数 )准备接收 = 假 调试输出 (参数一, 参数二 )准备接收 = 真 列表框1. 清空 ()当前文件 = 1 总文件数 = 参数二 列表框1. 清空 ()调试输出 (接收到的文件路径 )文件名 = 分割文本 (接收到的文件路径, #换行符, )计次循环首 (取数组成员数 (文件名 ), i )列表框1. 加入项目 (文件名 [i ], )计次循环尾 ()
再看一下帮助信息:
(我发现这个论坛不能设置展开收起一段文本,比较影响观感。要下代码请到帖子底部)
- 调用格式: 〈逻辑型〉 设置文件拖放 (整数型 标签句柄,整数型 控件句柄,... ) - 扩展功能支持库一->拖放功能
- 英文名称:DragFiles
- 将组件设置成拖放状态。本命令为初级命令。命令参数表中最后一个参数可以被重复添加。
- 参数<1>的名称为“标签句柄”,类型为“整数型(int)”。使用标签的反馈事件来操作拖放后的功能,标签反馈事件传递过来的参数中参数一为拖放的控件句柄,参数二第一次为拖放的文件个数,而后为拖放的文件名。
- 参数<2>的名称为“控件句柄”,类型为“整数型(int)”。需要设置成拖放状态的组件的句柄。
- 操作系统需求: Windows
复制代码- 数据类型名称:拖放对象 英文名称:DropTarget
- 本数据类型为功能窗口组件型,共包含 2 个成员命令, 12 个成员属性, 4 个组件事件。
- 操作系统需求: Windows
- 提供对文本,超文本,URL,文件等对象的拖放支持。注意:(1) 某些被拖放对象具有多种属性,比如,URL既是URL又是超文本,如果“接收超文本”与“接收URL”都设为真,有URL被拖入时“得到超文本”与“得到URL”都会被激发。(2) 一个本控件的实例只能注册一个其它控件。
- 成员属性<1>的中文名称为“左边”,英文名称为“left”,类型为“整数型(int)”。
- 成员属性<2>的中文名称为“顶边”,英文名称为“top”,类型为“整数型(int)”。
- 成员属性<3>的中文名称为“宽度”,英文名称为“width”,类型为“整数型(int)”。
- 成员属性<4>的中文名称为“高度”,英文名称为“height”,类型为“整数型(int)”。
- 成员属性<5>的中文名称为“标记”,英文名称为“tag”,类型为“文本型(text)”。
- 成员属性<6>的中文名称为“可视”,英文名称为“visible”,类型为“逻辑型(bool)”。
- 成员属性<7>的中文名称为“禁止”,英文名称为“disable”,类型为“逻辑型(bool)”。
- 成员属性<8>的中文名称为“鼠标指针”,英文名称为“MousePointer”,类型为“字节集(bin)”。
- 成员属性<9>的中文名称为“接收文本”,英文名称为“Text”,类型为“逻辑型(bool)”。
- 是否接收文本拖收,真为接收,假为不接收。
- 成员属性<10>的中文名称为“接收超文本”,英文名称为“Html”,类型为“逻辑型(bool)”。
- 是否接收超文本拖收,真为接收,假为不接收。
- 成员属性<11>的中文名称为“接收URL”,英文名称为“Url”,类型为“逻辑型(bool)”。
- 是否接收URL拖收,真为接收,假为不接收。
- 成员属性<12>的中文名称为“接收文件”,英文名称为“File”,类型为“逻辑型(bool)”。
- 是否接收文件拖收,真为接收,假为不接收。
- 组件事件列表:
- 事件 1 :
- 事件名称:得到文本
- 有文本被拖放到放置本控件的窗体且“接收文本”属性为真时产生本事件。
- 此事件的用户处理子程序不需要返回数据。
- 事件参数<1>的名称为“接收到的文本”,类型为“文本型(text)”。参数值为接收到的文本。
- 事件 2 :
- 事件名称:得到超文本
- 有超文本被拖放到放置本控件的窗体且“接收超文本”属性为真时产生本事件。
- 此事件的用户处理子程序不需要返回数据。
- 事件参数<1>的名称为“接收到的超文本”,类型为“文本型(text)”。参数值为接收到的超文本。
- 事件 3 :
- 事件名称:得到URL
- 有URL被拖放到放置本控件的窗体且“接收URL”属性为真时产生本事件。
- 此事件的用户处理子程序不需要返回数据。
- 事件参数<1>的名称为“接收到的URL”,类型为“文本型(text)”。参数值为接收到的URL。
- 事件 4 :
- 事件名称:得到文件
- 有文件被拖放到放置本控件的窗体且“接收文件”属性为真时产生本事件。
- 此事件的用户处理子程序不需要返回数据。
- 事件参数<1>的名称为“接收到的文件路径”,类型为“文本型(text)”。参数值为接收到的文件名文本,如果拖放多个文件,那么每个文件路径通过“#换行符”分隔。
- 调用格式: 〈逻辑型〉 对象.注册拖放控件 (整数型 接收拖放控件句柄) - 拖放支持库->拖放对象
- 英文名称:RegisterDropTarget
- 注册一个控件,使其可以接收拖放,成功返回真,失败返回假。本命令为初级对象成员命令。
- 参数<1>的名称为“接收拖放控件句柄”,类型为“整数型(int)”。接收拖放控件句柄。
- 操作系统需求: Windows
- 调用格式: 〈无返回值〉 对象.撤消拖放控件 (整数型 接收拖放控件句柄) - 拖放支持库->拖放对象
- 英文名称:UnRegisterDropTarget
- 撤消一个控件,使其不可以接收拖放。本命令为初级对象成员命令。
- 参数<1>的名称为“接收拖放控件句柄”,类型为“整数型(int)”。接收拖放控件句柄。
- 操作系统需求: Windows
- 成员属性“接收文本”所在数据类型为“拖放对象”,英文名称为“Text”,类型为“逻辑型(bool)”。
- 是否接收文本拖收,真为接收,假为不接收。
- 成员属性“接收超文本”所在数据类型为“拖放对象”,英文名称为“Html”,类型为“逻辑型(bool)”。
- 是否接收超文本拖收,真为接收,假为不接收。
- 成员属性“接收URL”所在数据类型为“拖放对象”,英文名称为“Url”,类型为“逻辑型(bool)”。
- 是否接收URL拖收,真为接收,假为不接收。
- 成员属性“接收文件”所在数据类型为“拖放对象”,英文名称为“File”,类型为“逻辑型(bool)”。
- 是否接收文件拖收,真为接收,假为不接收。
- 事件名称:得到文本
- 有文本被拖放到放置本控件的窗体且“接收文本”属性为真时产生本事件。
- 此事件的用户处理子程序不需要返回数据。
- 事件参数<1>的名称为“接收到的文本”,类型为“文本型(text)”。参数值为接收到的文本。
- 事件名称:得到超文本
- 有超文本被拖放到放置本控件的窗体且“接收超文本”属性为真时产生本事件。
- 此事件的用户处理子程序不需要返回数据。
- 事件参数<1>的名称为“接收到的超文本”,类型为“文本型(text)”。参数值为接收到的超文本。
- 事件名称:得到URL
- 有URL被拖放到放置本控件的窗体且“接收URL”属性为真时产生本事件。
- 此事件的用户处理子程序不需要返回数据。
- 事件参数<1>的名称为“接收到的URL”,类型为“文本型(text)”。参数值为接收到的URL。
- 事件名称:得到文件
- 有文件被拖放到放置本控件的窗体且“接收文件”属性为真时产生本事件。
- 此事件的用户处理子程序不需要返回数据。
- 事件参数<1>的名称为“接收到的文件路径”,类型为“文本型(text)”。参数值为接收到的文件名文本,如果拖放多个文件,那么每个文件路径通过“#换行符”分隔。
复制代码
拖放对象可以同时接收文本、超文本、URL、文件,并且调用也比较简单。
设置文件拖放需要用到标签,并且要接收多次反馈事件,第一次是告诉文件数量,后面几次是具体拖拽的文件名称。
还有拖放对象接收到了多份文件,每个文件用换行符隔开,要分割文本后依次遍历文件名
不啰嗦了,代码:
扩展功能支持库 设置文件拖放 VS 拖放支持库 拖放对象.e
(4.22 KB, 下载次数: 46)
|