TClipboard
副标题#e#
TClipboard封装了Windows Clipboard。
类干系 TObject->TPersistent
WindowsClipboard包括对任何一个应用措施剪切、复制或粘贴的文本或图形。TClipboard工具是WindowsClipboard的一个工具包。
不要通过挪用结构来实例化单独的TClipboard工具的全局实例。当答允应用措施共享TClipboard工具的一个单个实例时,利用该全局实例可以安详制止意外地删除剪贴板。在挪用Clipboard要领之前,应记着在uses语句中应包罗Clipbrd
Clipboard的属性提供了关于Clipboard被“注册”名目标处理惩罚动静。Clipboard的要领可以举办以下操纵:
按照适当的名目获取的检索数据。
处理惩罚引用计较、打开和封锁Clipboard。
为Clipboard中的工具打点和哄骗名目。
属性列表
AsText 暗示Clipboard中的当前内容为一个字符串
FormatCount 用于指定在Formats数组属性的名目数量
Formats 提供对Clipboard包括所有名目标变址会见
要领列表
~TClipboard 释放与TClipboard工具有关的内存
Assign 从Clipboard中检索一工具可能向Clipboard中复制一工具
Clear 删除Clipboard中的内容
Close 用于封锁Clipboard
GetAsHandle 用于从剪贴板返回指命名目标句柄数据
GetComponent 按照Owne和Parent参数值从Clipboard中粘贴一组件
GetTextBuf 从Clipboard中检索文本并复制到一个缓冲区
HasFormat 暗示 Clipboard工具是否包括一个特命名目
Open 打开Clipboard
SetAsHandle 按给命名目安排作为一个Windows句柄的数据
SetComponent 向Clipboard中复制一个组件
SetTextBuf 向Clipboard中写入一个文本缓冲区
TClipboard 建设一个新的TClipboard工具
属性
TClipboard::AsText
__property System::AnsiString AsText = {read=GetAsText,write=SetAsText};
暗示Clipboard中的当前内容为一个字符串。
利用AsText属性可以在Clipboard中安排文本和从Clipboard中检索数据。AsText属性复制Clipboard中的一个字符串。将一个字符串设定为AsText属性的数值。
Clipboard必需包括一个字符串可能一个呈现的异常。利用HasFormat要领,可以确定Clipboard中是否包括一个字符串。
TClipboard::FormatCount
__property int FormatCount = {read=GetFormatCount,nodefault};
用于指定在Formats数组属性的名目数量。
利用FormatCount属性可以查找Clipboard中差异名目范例的数量,名目范例用于对当前动静举办编码。FormatCount属性为只读属性。
利用HasFormat要领,可以查明Clipboard中的一个特命名目是否是可用的。
在已一个特定的名目向剪贴板中写入动静之前,该名目必需已注册。利用TPieture工具的RegisterClipboardFormat要领,可以注册一个新名目。
TClipboard::Formats
__property Word Formats[int Index] = {read=GetFormats};
提供对Clipboard包括所有名目标娈址会见。
#p#副标题#e#
利用Formats属性可以确定用什么名目对剪贴板中的当前动静举办编码。按照每一个名目在数组中的位置,利用Infex参数,可以会见每一个名目。当从剪贴板中读打动静时,利用Formats属性数组可觉得可用多个要领举办编码的动静选择最佳的大概编码要领。
凡是,当一个应用措施对Clipboard举办复制可能剪切内容时,将按多种名目安排内容。
假如名目在Formats属性数组中,则一个应用措施可以在Clipboard中安排一个特命名目标项目,而且可以按一个特命名目从 Clipboard中检索项目。利用HasFirmat要领,可以查明Clipboard中的一个特命名目是否是可用的。
要领
TClipboard::~TClipboard
__fastcall virtual ~TClipboard(void);
释放与TClipboard工具有关的内存。
~TClipboard 释放与TClipboard工具有关的内存。不要直接挪用 ~TClipboard。用 delete替代。
TClipboard::Assign
virtual void __fastcall Assign(Classes::TPersistent* Source);
用于从Clipboard中检索一个工具可能向Clipboard中复制一个工具.
利用Assign,可以从 Clipboard中安排图片和从 Clipboard中检索图片。
Source参数指定的工具为将被复制的工具。譬喻,下列代码从一个名为Bitmapl的位图工具中,向Clipboard中复制位图。
TClipboard::Assign(Bitmap);
若要从Clipboard中检索一个工具,将该工具在其内的Clipboard赋值给新工具,也就是,赋值给挪用其Assign要领的工具。譬喻,假如一个位图在Clipboard中,下列代码将该位图廉价到一个名为bitmapl 的位图工具中。
Bitmap::Assign(Clipboard);
Formats属性列出了向Clipboard中复制一个工具的名目范例。图形工具如位图和位图文件,具有其自身的相应名目。利用HasFormat要领。可以确定剪贴板中的动静是否利用了一个与其指定工具相兼容的名目。
TClipboard::Clear
void __fastcall Clear(void);
删除Clipboard 中的内容。
挪用Clear 将清空剪贴板。每当向Clipboard中插手数据(剪切和复制操纵)时,Clear被自动挪用。
TClipboard::Close
void __fastcall Close(void);
#p#分页标题#e#
假如Clipboard是打开的,则Close用于封锁Clipboard。当完成向Clipboard中插手项目时,挪用Close。在剪贴板被封锁之前,通过挪用Open要领,Clipboaard大概被多次打开。Open和Close要领都生存一剪贴板已被打开次数的计数器。直到剪贴板被封锁次数与已被打开次数沟通时,剪贴板才确实被封锁。
TClipboard::GetAsHandle
int __fastcall GetAsHandle(Word Format);
用于从剪贴板返回指命名目标句柄数据。
利用GetAsHandle可以操作Windows句柄从Clipboard中检索数据。该句柄不属于应用措施且数据将被复制。
留意:只有当Clipboard为打开时GetAsHandle返回的句柄才是有效的。Clipboard一封锁,就由Windows从头分派句柄且不再是可存取的。假如与句柄关联的数据需要一段时间复制数据,句柄被推荐。
HasFormat要领列出一些作为Format参数利用的可用名目。另外,应用措施可以或许界说和注册本身的名目。
TClipboard::GetComponent
Classes::TComponent* __fastcall GetComponent(Classes::TComponent* Ower,Classes::TComponent* Parent);
按照Owner 参数和Parent的参数值,从 Chipboerd中粘贴一个组件。
利用CerComponent可以检索一个生存在Chpboard中的组件,指定Owbet参数作为被检索组件(凡是为一个窗体)的所有者组件。指定Parent参数作为组件父体的组件。Owner参数和Parent 参数都可觉得NULL。
在可以或许从Clipboard中读取一个类之前,首先必需用Classes 单位通过挪用RegisterClasses要领对它举办注册。假如试图读取一个还没有注册的类,将收到一个EClassNotFound异常。
TClipboard::GetTextBuf
int __fastcall GetTextBuf(char* Buffer,int BufSize);
从Clipboard中检索文本并廉价到一个缓冲区。
利用GetTextBuf可以从Clipboard中检索文本并复制到指向Buffer参数的缓冲区。GetTextBuf复制由BufSize参数给定的字符量并返回覆制的字符数量。
Buffer参数中文本是一个空终止的字符串。
TClipboard::HasFormat
bool __fastcall HasFormat(Word Format);
暗示Clipboard工具是否包括一个特命名目。
利用HasFormat可以查明剪贴板中的动静是否以一个特命名目举办编码。假如HasFormat为True,则存在名目;假如HasFormat为False,则不存在名目。Clipboard工具生存Formaats数组属性中可用名目标一个列表。Format参数可经是下表中的数值。Windows或其他Windows应用措施提供了很多的Clipboard名目。定制名目也被注册。所有这些都可由HasFormat支持。
TClipboard::Open
void __fastcall Open(void);
打开Clipboard,在封锁之前可以制止其他应用措施修改其内容。
向Clipboard中插手一个单个项目时,应用措施不必挪用open。但当向Clipboard中插手一系列项目时,挪用Open可以制止内容被每一个增加项包围。
若要插手多个项目,声音Open要领可以制止Clipboard中内容被其他应用措施包围或修改。
当应用措施已向Clipboard中插手所有的项目时,将挪用Close要领。
TClipboard::SetAsHandle
void __fastcall SetAsHandle(Word Format,int Value);
按给命名目安排作为一个Windows句柄的数据。
利用SetAsHandle通过利用Windows句柄可以向Clipboard中写入数据。SetAsHandle向Clipboard中写入由指定句柄(Value参数)暗示的动静。一旦应用措施向Clipboard给出了生存柄,则由句柄暗示的数值将属于剪贴切板,而不是应用措施。Clipboard将释放暗示的资源。
留意:Hlipboard要领列出一些作不Format参数利用的可用名目。另外,应用措施可以或许界说和注册本身的名目。
TClipboard::SetComponent
void __fastcall SetComponent(Classes::TComponent* Component);
向Clipboaard中廉价一个组件。
利用SetCompinent可以向Clipboard中廉价一个组件,指定需要复制的组件作为Component参数的数值。
TClipboard::SetTextBuf
void __fastcall SetTextBuf(char* buffer);
向Cllipboard中写入一个文本缓冲区。
利用SetTextBuf可以从一个缓冲区中廉价文本。Buffer参数必需指向一个空终止符的字符串。
TClipboard::TClipboard
__fastcall virtual TClipboard(void);
建设一个新的TClipboard工具。
不要直接挪用Tclipboard来建设TClipboard工具。在运行时用new来建设TClipboard的引用。