OLE拖动技术在Delphi中如何实现

mrlining 2000-08-25 10:46:00
从任一文件夹拖动一文件到DBGrid,如何捕捉这一事件,然后将其加入数据库,就象Word一样拖动文件并打开。
...全文
92 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
mrlining 2000-08-25
  • 打赏
  • 举报
回复
如何在右击弹出菜单上加入自已的程序项,如WinZip
DELPHI专题文档-程序应用 更改Windows95的墙纸 类似于VB的doevents功能 DELPHI下的多线程程序设计 用Delphi 3.0编制MP3音乐点歌台 用Delphi开发windows95屏幕保护预览程序 判断一个程序是否dos版本 Delphi自定义消息应用一例 显示密码编辑框的密码 也谈Delphi的日期输入 用修改文件时间的方法来加密文件 在DELPHI处理时间 在Delphi用拼音首字符序列来实现检索功能 用Delphi创建Internet快捷方式 用Delphi实现远程屏幕抓取 资源文件在DELPHI的使用 在DELPHI应用程序使用DLL 为DELPHI应用程序制作安装程序 用注册表对Delphi程序进行加密 在Delphi程序操作注册表 鼠标和键盘控制 如何为Delphi程序添加事件和事件处理器 在Delphi应用程序拖动控件 用DEPHI为应用软件建立注册机制 用Delphi创建临时文件 Delphi 5快速创建控制面板程序 Delphi经验技巧集锦 Microsoft Agent技术Delphi的应用 怎样建立简单的任务栏应用程序 判断一个程序是否dos版本 利用Delphi 5调用Excel 97 利用Dll实现通用密码验证框 如何访问一个进程的内存空间 用Delphi 5.0编写OLE程序操纵Excel 用Delphi编写DLL实现动态改变分辨率 在delphi使用flash控件 在Delphi运用QuickReport实现多栏列印 控制INI文件几法 转让控制权 得到执行程序的目录 打开已注册文件 得到Windows用户名和序列号 关闭外部应用程序 查阅可视窗口标题 在Delphi编程创建一个启动闪现窗口 如何用Delphi编ScreenSaver Delphi里如何计算日期 delphi怎样调用外部EXE文件 Win95/98下监控运行的其他程序 控制面板应用大全 避免一个程序二次运行 转换WINDOWS壁纸 改计算机名 为应用程序添加口令 启动屏幕保护 控制热启动 辨别显示分辨率 获得WINDOWS的临时路径 状态条插入可视控件 统计英文字个数 获得Windows类型和版本 读INI文件 大小写金额转换 检测程序是否运行 用Delphi3编写"共享软件" 如何从任务栏上隐藏应用程序的按纽 如何在Delphi程序支持文件拖放 如何运行一个程序直到它结束 用De1phi编制汉字录入能力测试软件 一个实用的Delphi屏幕拷贝程序的设计 如何做一个SYSTRAY程序 查阅可视窗口标题 屏蔽系统功能键 状态条插入可视控件 如何隐藏和显示Windows的任务条 如何将你的程序放在Windows启动 获取当前程序的目录
DELPHI专题文档-程序应用 更改Windows95的墙纸 类似于VB的doevents功能 DELPHI下的多线程程序设计 用Delphi 3.0编制MP3音乐点歌台 用Delphi开发windows95屏幕保护预览程序 判断一个程序是否dos版本 Delphi自定义消息应用一例 显示密码编辑框的密码 也谈Delphi的日期输入 用修改文件时间的方法来加密文件 在DELPHI处理时间 在Delphi用拼音首字符序列来实现检索功能 用Delphi创建Internet快捷方式 用Delphi实现远程屏幕抓取 资源文件在DELPHI的使用 在DELPHI应用程序使用DLL 为DELPHI应用程序制作安装程序 用注册表对Delphi程序进行加密 在Delphi程序操作注册表 鼠标和键盘控制 如何为Delphi程序添加事件和事件处理器 在Delphi应用程序拖动控件 用DEPHI为应用软件建立注册机制 用Delphi创建临时文件 Delphi 5快速创建控制面板程序 Delphi经验技巧集锦 Microsoft Agent技术Delphi的应用 怎样建立简单的任务栏应用程序 判断一个程序是否dos版本 利用Delphi 5调用Excel 97 利用Dll实现通用密码验证框 如何访问一个进程的内存空间 用Delphi 5.0编写OLE程序操纵Excel 用Delphi编写DLL实现动态改变分辨率 在delphi使用flash控件 在Delphi运用QuickReport实现多栏列印 控制INI文件几法 转让控制权 得到执行程序的目录 打开已注册文件 得到Windows用户名和序列号 关闭外部应用程序 查阅可视窗口标题 在Delphi编程创建一个启动闪现窗口 如何用Delphi编ScreenSaver Delphi里如何计算日期 delphi怎样调用外部EXE文件 Win95/98下监控运行的其他程序 控制面板应用大全 避免一个程序二次运行 转换WINDOWS壁纸 改计算机名 为应用程序添加口令 启动屏幕保护 控制热启动 辨别显示分辨率 获得WINDOWS的临时路径 状态条插入可视控件 统计英文字个数 获得Windows类型和版本 读INI文件 大小写金额转换 检测程序是否运行 用Delphi3编写"共享软件" 如何从任务栏上隐藏应用程序的按纽 如何在Delphi程序支持文件拖放 如何运行一个程序直到它结束 用De1phi编制汉字录入能力测试软件 一个实用的Delphi屏幕拷贝程序的设计 如何做一个SYSTRAY程序 查阅可视窗口标题 屏蔽系统功能键 状态条插入可视控件 如何隐藏和显示Windows的任务条 如何将你的程序放在Windows启动 获取当前程序的目录
这是2003年得一个作品,陆续做了基本得功能,当初做这个只是一时性起,帮朋友讲解树型得数据结构,并写了个简单得例子,但后来还是作成一个软件。该程序功能已经实现,并且可以正常使用,但是‘最爱’收藏夹还有一些问题,一直没有修改过;另外,ADO方式写二进制数据到表里,速度确实太慢了。当时得能力有限,很多代码未很好得设计,可以重构得地方很多,程序可以给初学者作为参考。//////////InfoBase 0.2 Beta Build 20031119开发日志这是我续 ASPDecoder(ASP反编码 delphi版) 之后很长时间的又一个作品;目前还在开发期间,完成度80%。如果你对程序的功能或者是程序的错误上有建议,请给作者发信。开发前: 作者学习delphi 过程见过很多类型的资料管理软件,比如myBase 是非常典型的软件,myBase 的作者的编程功底很深,myBase做的非常实用;并且带上好几兆的Delphi 开发资料。所以我也想自己写一个这样的文档资料管理软件。一来可以锻炼自己的编程能力,因为很多软件看到功能自己能想出实现方法,但往往只是在想,而没去做,这样可不行。二个就是,这类软件做的好的基本上都需要收费。 但这些都不是促使我去编写InfoBase的目的。而是因为我的室友兄弟们也在学delphi,正学到树型,缺少一个树型的好算法;所以我写了个树型分类打算让他们参考一下,没想到结果还是做成了现在这个样子 :)未实现的功能: 2003.7.8 准备将部分功能模块移植到WEB 上,把一些常用数据信息存储在服务器上,这样无论今后在何地均可使用该软件访问资源。但目前作者缺少服务器资源,是个很头痛的问题,想法在写InfoBase 之前就已经策划妥善。 2003.11.19 准备着重实现“导入功能”,具体涉及所支持的导入类型还在策划……软件名称: InfoBase 0.2文名称:信息数据库软件版本: 0.1 Build 20031119 Beta软件作者: Chinasf (萧寒)(S.F.)作者邮箱: Chinasf@hotmail.com软件网站: http://chinasf.cnblogs.com软件语言: 文应用平台: Win9x/Win2000/WinXP + IE5.0以上软件简介: 1、无限级分类(分类名作为文章头) 2、文档内容支持多种类型,如图片,URL地址,包括任意OLE对象 3、支持选定部分文档内容打印 4、支持自动给代码加颜色(语法加亮) 5、支持将文本内容直接转换为图形 6、支持快速索引定位文章(类似CHM文档索引) 7、支持书签记录(类似CHM文档书签) 8、‘最爱’网站链接收藏功能 9、支持多种打开URL方式 10、支持将URL送如系统收藏夹 11、支持导出到HTML 12、文档支持附件 13、内置浏览器,可浏览网站和浏览附件 14、执行附件文件自动监听 15、数据全程压缩 (new) 还有更多的细节……有问题的功能:..分类的拖动实现..文本编辑环境功能选项有待加强,并等待bug 信息反馈..打印未实现预览..预计加入代码格式化排版功能..文档内容保存到图象高度计算有误差..其他细节的设计…最爱模块发现小错误更新历史: 2003.7.3 树型分类算法 开始和朋友讨论树型算法,一时兴起,写了个树型结构并做了个示例。2003.7.4 主程序和数据库设计 见自己完成了树型分类和节点的管理代码,感觉不能浪费,便有做InfoBase的想法;开始使用PowerDesigner 建立数据库模型(有点杀鸡用牛刀的味道),并生成数据库文件 (1.0 ?)。 开发环境采用delphi 7.0 Enterprise,使用ADO 连接Access数据库,软件名字也定了,叫做infoBase 。 最后将程序的主框架搭好,并实现了richEdit 的文本读取和保存。2003.7.5 “OLE嵌入、URL捕获、UI、附件监听”(代码的实现) 搞定了richEdit 读取保存后开发增加高级功能,其后写完了插入OLE对象,URL文本捕获,插入图形……最后感觉差不多象个样子了,把主界面的图标,工具条统统更新了一遍,变成了现在这个样子。 吃了晚饭就开始写文件附件功能;搞定了附件存储,又写到凌晨一直在实现文件附件监听……(因为明天是星期天)2003.7.6 “代码着色、索引、书签”(星期天) 加入代码加色的功能和另外一些细节功能。 继续休整代码,和修正遗留的bug。 主要的模块差不多后,准备罢手(我的坏习惯),见室友在看CHM版的水木清华的帖子,感觉索引功能和书签功能很重要,至少自己用的时候方便。赶紧加上。 再看了myBase 一些功能后,模仿它加上了一些典型的功能,增加了一个内置的浏览器,用于浏览N格式的附件。2003.7.7 增加“数据库维护”功能(星期一上班) 上午很早就起床了,结果又去睡……!·##¥%%……差点迟到了。 下班后,在家玩魔兽冰峰王座,过全关一个种族(打了3天),开始写InfoBase的MainMenu (主菜单我一直都没有整理功能,呵呵),Access数据库在删除数据后并不会减少文件尺寸,所以加了几个数据库的维护功能。2003.7.8 新增“开发日志”和“最爱收藏夹”(迟到了) 星期一弄的太晚,结果早上迟到了……罚款:¥20RMB 上午去腾讯社区见个朋友发表了自己写了很长时间的代码; 我想,先把我的这个烂东西也发出去吧,结果公司网络掉线了,只好作罢,把网友的帖子内容和代码都保存了下来放在InfoBase。 从上个星期修正了NC接口的“最后一个BUG”后,工作上有点闲了(其实还有一大堆工作上的事情我还没解决) 想起见到一个网友写的‘梦幻浏览器’的一个功能模块是类似IE的收藏夹,感觉挺好,在网友的浏览器里叫做“最爱”,我觉得也挺好听,干脆也叫这个,做一个这个功能; 然后一直到写完这个模块后,就开始写这个文档。 目前并未让“最爱”与系统收藏夹互动,功能等到过了今天再实现吧……毕竟源代码.PAS加起来就有199KB 了。2003.11.19 增加“全程压缩”功能(星期三,工作任务下来了,‘重’) 上午,客户递交上来了满满一页的新需求和需求的修正列表,哎!相当痛苦,是整整做了一年的东西啊,什么时候才是尽头…… Infobase自己使用了一段时间,总有些不足的地方,最明显的就是,数据文件的大小。我习惯把代码参考和相关的Code文件都保存下来,结果,数据库越来越大,已经差不多60多兆了,如果某篇文章保存的内容多的话,加载的速度非常慢,并不是程序的问题,而是字段内容太大了,Access数据库必须先读入到内存里,才能把字段的值给我。考虑之后决定采用压缩的方式保存文件数据,并且文本内容也压缩,因为文本格式是富文本格式的,它支持OLE,而OLE的信息格式是相当大的,而压缩算法对文本字符串的压缩比率是相当高的,压缩它是化得来得,但是丢失了一个功能,因为压缩后得数据必须是二进制模式,所以,“全文搜索”功能只能简化到“标题搜索”了。下次再想办法解决“全文搜索”得功能。
2.5主要变动: 1.重要改进:新版本Delphi下的VCL控件已经比较完善,封装良好,与Delphi无缝连接,改变了旧版需要将Dataset的数据复制到报表引擎实现方式,通过模拟ADO接口的方式直接支持BDE/ClientDataset/等非ADO方式的Dataset,不需要考虑太多的COM方面的因素,强烈建议Delphi的开发者直接使用该VCL控件。 使用VCL控件编译的程序发布时,将AcReport.dll和您的EXE放在同一个文件夹下一起发布即可,不需要运行RegSvr32来注册控件,VCL的代码会自动注册该控件。 2.完善文本控制方式(在设计器界面上增加了此项菜单): 1).当文本控制设置为自动适应单元格(自动缩放字体)时,选择上对齐方式时,也能自动换行。 2)当文本控制设置为截断字符时,支持自动换行,保持单元格的高度不变,在某些特殊应用,不管文本如何变化,可以保持表格的形状不变。 3.增加了OnSaveReport事件,当用户在设计器点击“保存”按扭时,会触发此事件,程序可以响应此事件执行自定义保存,例如可以将报表保存到数据库,或者返回一个信息给设计器用户。 4.直接支持ADO.net的Dataset和DataTable对象,不需要再通过CustDataBuiler对象来转换,大大提高了在.net下的运行速度。(需要引用 AcNetUtils.dll,具体使用方法请参考Demo) 代码示例: //Dataset: //2.5以前的版本需要将Ado.net下datatable在ACcopy一个复本,速度比较慢 // AcReport.AcUtils.CopyDatasetToAcRptEngine(mDataset, mac, false); //新版本的处理方式,通过ADO-ADO.net适配器的方式直接访问 DbAdapter.FillDatasetToAC(mDataset, mac); //DataTable: mDataset.Tables["zlemployee"].TableName = "雇员档案"; AcReport.AcUtils.CopyTableToAcRptEngine(mDataset.Tables["雇员档案"], mac, false); //重新加入一个表到AcReport (旧版本方式) //在2.5以后的版本,可以用如下的方式将ADO.net的DataTable对象通过AcRecordsetAdapter转换为ADO接口的方式直接加入到AcEngine, //这样做就不需要在AC复制一个复本,大大提高的速度。 AcRecordsetAdapter RecordAdp = new AcRecordsetAdapter(mDataset.Tables["雇员档案"]); mac.AddNetAdoData("雇员档案", RecordAdp); // 以上两行也可以直接调用 AcNetUtils 类库里提供的现成方法(效果是一样的): AcNetUtils.DbAdapter.FillDataTableToAC(mDataset.Tables["雇员档案"], mac); 5.可拖动对象设计功能增强 6.支持 条码 Code128 Auto ACReport简介 Anycell Report(简称AC Report)是一款国式报表组件,是国内最早的基于表格,支持图文混排、公式和脚本的国式报表工具之一。就如Anycell Report的名称那样,灵活强大的表格功能一直是AC Report区别于其它软件或控件最显著的特征之一,AC Report 表格取消了传统表格概念“列”的概念,每一行上的单元格数量可以不等,且可以自由活动,勿须上下对齐,在制作复杂的国式报表时可以避免很多不必要的合并拆分操作,制作表格更加方便和随心所欲,并且省时省力。AC Report单元格支持多种丰富的形态,例如格式化文本、图片、图表、条码、OLE容器等。 AC Report的一些基本特点: 1.独具特色的表格,风格与Word表格相似,但可以做出比Word或Excel更灵活的表格来。 2. 功能全面、专业的国式报表设计器,国用户更易于学习和接受。 3.支持多种单元格样式,可以打印图像、图表(直方图、折线图等)、Rich文本、 条形码、式财务帐薄、支持在报表嵌入Word、Excel文档等。 4. 强大的计算和合计功能。内置表达式解析系统和函数库。 5. 可扩充性,可以在应用程序给报表引擎扩充函数库、报表样式和单元格样式。 6.支持多种报表样式,如清单式、分组、交叉表、以及子报表

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧