7A版Delphi剪贴板和动态数据交换_第1页
7A版Delphi剪贴板和动态数据交换_第2页
7A版Delphi剪贴板和动态数据交换_第3页
7A版Delphi剪贴板和动态数据交换_第4页
7A版Delphi剪贴板和动态数据交换_第5页
免费预览已结束,剩余1页可下载查看

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、7A 版优质实用文档 Delphi 剪贴板和动态数据交换 导读:就爱阅读网友为您分享以下“剪D贴el板ph和i 动态数据交换”的资 讯,希望对您有所帮助,感谢您对 的支持 ! 应用程序间的数据交换是象 Windows 这样的多任务环境的重要特性。 作为一 种基于 Windows 的开发工具, Delphi 支持如下四种数据交换方式:剪贴板、 动态数据交换 (DDE) 、对象联接与嵌入 (OLE) 以及动态联接库 (DLLs) 。这中间前 三种方式最为常用, OLE 功能最为强大, DDE 次之。而剪贴板使用最为方便。 在本章,我们只讨论剪贴板和动态数据交换。 利用 OLE 实现数据交换见下一章

2、, 利用动态联接库 (DLLs) 进行数据交换将在第十章中介绍。 7.1 剪贴板及其应用 本质上,剪贴板只是一个全局内存块。 当一个应用程序将数据传送给剪贴板后, 通过修改内存块分配标志, 把相关内存块的所有权从应用程序移交给 Windows 自身。其它应用程序可以通过一个句柄找到这个内存块, 从而能够从内存块中读 取数据。这样就实现了数据在不同应用程序间的传输。 剪贴板虽然功能较为简单,且不能实现实时传输,但却是更为复杂的 DDE 和 OLE 的基础。对于一些只是偶尔需要使用其它应用程序数据的程序来说,使用 剪贴板不失为一种方便、快捷的方式。 Delphi 把剪贴板的大部分功能封装到一个 T

3、Clipboard 类中,同时把使用频 度最高的文本传输功能 (包括 DBImage 的图像传输功能 ) 置入相应部件作为部 件的方法,从而使用户可以十分方便地使用剪贴板进行编程。 7A 版优质实用文档 7A 版优质实用文档 7.1.1 使用剪贴板传输文本 剪贴板传输文本主要是应用如下的 三个方法:CopyToClipboard CutToClipboard 和 PasteFromClipboard 。包含这些方法的部件如下表所示。 表 7.1 包含剪贴板方法的部件 方法部件 TDBEditTDBMemo TDBImage CopyToClipboardTEditTMemoTMaskEdit

4、TOLEContainer TDDEServerItem TDBEditTDBMemo CutToClipboardTDBImage TEditTMemoTMaskEdit TDBEditTDBMemo PasteFromClipboardTDBImage TEditTMemoTMaskEdit 除 TDBImage 外,其余全是有关文本的控件。 在把文本传输到剪贴板之前,文本必须被选中。 若选 TMaskEdit 的 AutoSelect 属性为 True ,则当 MaskEdit 获得输入焦点 7A 版优质实用文档 7A 版优质实用文档 时文本自动被选中;若选 TEdit 、TMemo 的

5、 HideSelection 属性为 True ,则 失去焦点时,文本选中状态自动隐藏,重新获得焦点时再显示。 下面的语句把 MaskEdit 中选中的文本剪切到剪贴板: MaskEdit.CutToClipboard; 下面的语句把剪贴板中的文本粘贴到 Memo 的当前光标处: Memo.PasteFromClipboard ; 利用剪贴板类也可以实现文本的传输,见 (7.1.2) 中的介绍。 7.1.2 剪贴板类 为方便剪贴板的操作, Delphi 在 Clipbrd 库单元中定义了一个 TClipboard 类,并且预定义了一个变量 Clipboard 作为类 TClipboard 的实

6、例,从而使用 户在绝大多数场合不必自己去定义一个 TClipboard 的实例。 利用剪贴板类可以进行文本、图像和部件的传输,剪贴板类为实现这些方法提 供了相应的属性和方法。 表 7.2、表 7.3 列出了 TClipboard 属性和方法的意义。 表 7.2TClipboard 的属性 属性意义 AsTeGt 保存剪贴板的文本,只有运行时才可设置 FormatCount 可用剪贴板格式的数目 Formats 可用剪贴板格式链 表 7.3TClipboard 的方法 方法参数意义 无清除剪贴 7A 版优质实用文档 7A 版优质实用文档 板的内容 AssignSource:TPersistent 把 Source 参数指定的对象拷贝到剪贴板,常 用于图形、图像对象 Open 无打开剪贴板,阻止其它应用程序改变它的内容 Close 无关闭打开的剪贴板 SetComponentSource:TPersistent 把部件拷贝到剪贴板 GetComponentOwner 从剪贴板取回一个部件并放置 Parent:TPersistent SetAsHandleFormat:Word 返回类型: THandle GetAsHandleFormat:Word 返回类型: THandle HasFormatFormat:Word 返回类型: Boolean SetTeGtBufBuffer:PC

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论