[VCL]如何同时向剪贴板存贮多种格式的内容

有时候,我们需要实现类似于 Word 或 WPS 一样,能够同时往剪贴板中存入多种格式,然后在不同的应用中粘贴需要的格式。

VCL 本身是支持这个操作的,只是没有提供详细的文档,通过它源码的注释,找到了如何同时存贮多种格式的方法:

1、调用 Clipboard.Open 来打开剪贴板;

2、调用 Assign 、 AsText 、SetAsHandle 来存贮不同的格式到剪贴板;

3、调用 Clipboard.Close 来关闭剪贴板;

下面是一段示例代码:

procedure TForm1.Button1Click(Sender:TObject);
begin
  Clipboard.Open;
  Clipboard.Assign(FBitmap);//将当前的位图复制到粘贴板
  Clipboard.AsText:=FText;//将当前的文本复制到粘贴板
  Clipboard.Close;
end;

下面是上面的代码执行后,在 WPS 中通过“选择性粘贴”功能窗口看到的结果:

QQ截图20150916222106

分享到: