概述
Delphi里面的TClipBoard为我们操作剪贴板提供了方便。获取剪贴板数据的一般步骤是:
- 打开剪贴板
- 获取指定格式的共享内存句柄
- 从共享内存复制数据
- 关闭剪贴板
放置剪贴板数据的一般步骤是:
- 打开剪贴板
- 复制数据到全局共享内存
- 把共享内存的句柄和对应格式交给剪贴板
- 关闭剪贴板
我们知道剪贴板上可以同时存在多种数据格式,这些格式是针对同一对象进行的不同描述。那么在Delphi里面如何放置多种数据格式到剪贴板上?很简单,打开剪贴板后,我们一个一个地把各种数据格式放到剪贴板上,放完了才关闭剪贴板。代码写法如下:
ClipBoard.Open;
try
ClipBoard.SetComponent(Memo1);
ClipBoard.AsText := ComponentToString(Memo1);
finally
ClipBoard.Close;
end;
附: ComponentToString来自Delphi Help
function ComponentToString(Component: TComponent): string;
var
BinStream: TMemoryStream;
StrStream: TStringStream;
s: string;
begin
BinStream := TMemoryStream.Create;
try
StrStream := TStringStream.Create(s);
try
BinStream.WriteComponent(Component);
BinStream.Seek(0, soFromBeginning);
ObjectBinaryToText(BinStream, StrStream);
StrStream.Seek(0, soFromBeginning);
Result := StrStream.DataString;
finally
StrStream.Free;
end;
finally
BinStream.Free
end;
end;
最后
以上就是细腻店员为你收集整理的同时放置多个数据格式到剪贴板上的全部内容,希望文章能够帮你解决同时放置多个数据格式到剪贴板上所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复