使用Visual C++实现OLE剪贴板
2008-11-13 19:30:10 来源:WEB开发网---- 一、概述
---- 在Windows操作系统中存在两种剪贴板机制:Windows标准剪贴板和OLE剪贴板机制。
---- 标准的Windows剪贴板是一个被所有Windows应用程序共享的系统服务,因此它并没有自己的句柄或类。但你可以通过CWnd类的成员函数来管理剪贴板。
---- 自从OLE(Object Linking and Embedding,对象链接和嵌入)诞生之后,Windows操作系统中便出现了第二种剪贴板机制——OLE剪贴板机制。标准的Windows剪贴板API(Application Programming Interface,应用程序编程接口)依然可用,但是他已经被OLE数据传输机制来实现了。OLE支持UDT(Uniform Data Transfer,统一数据传输),并可以通过拖放操作实现剪贴板的剪切、复制和粘贴等操作。OLE剪贴板除了拥有标准Windows剪贴板的性能外,还支持传输用户自定义的剪贴板格式,并能够在传输数据时绑定OLE格式(如字体、字号等)。OLE剪贴板机制将成为更为主要的数据传输机制。
---- 本文将简要叙述标准Windows剪贴板的实现,并将重点放在讨论如何通过Visual C++实现OLE剪贴板上。
---- 二、选择适当的剪贴板机制
---- 在选择使用何种剪贴板机制时通常应遵循下面的原则:
---- 如果应用程序在将来又可能具有新的性能(比如现在只需要传输纯文本,但将来有可能需要另外传输字体等特性),那么使用OLE剪贴板。
---- 如果你正在使用一个OLE应用程序,或者你希望使用任何OLE特性(如拖放等)那么你应当使用OLE剪贴板机制。
---- 如果你提供了OLE格式(如字体、字号等),那么使用OLE剪贴板机制。
---- 三、使用Windows标准剪贴板
---- 大多数Windows下的应用程序支持剪切或复制数据到Windows剪贴板中以及从剪贴板粘贴数据至目的地。在这个过程中,剪贴板数据格式在多种应用程序之间发生了变化。系统构架仅仅通过实现一些有限的类来支持一些有限的剪贴板格式,下表列出了Windows标准剪贴板支持的格式(第一列“值”将在下面的程序代码中使用)。
更多精彩
赞助商链接