如何在剪贴板上放置多种格式?

时间:2010-04-21 17:04:53

标签: c++ windows delphi clipboard

例如,当我按“Ctrl + C”时,Wordpad会做什么? 它为剪贴板放置了许多不同的格式。因此,记事本可以获取没有任何颜色或字体等的文本,并且当您粘贴到另一个Wordpad窗口时,您仍然可以保留原始格式。

MSDN说我应该多次调用SetClipboardData。但它根本不起作用。

2 个答案:

答案 0 :(得分:10)

您可以使用Delphi的TClipboard.SetAsHandle以任意多种格式将数据放在剪贴板上。首先打开剪贴板,否则每次调用SetAsHandle都会破坏已存在的任何内容,即使是其他格式也是如此。

Clipboard.Open;
Clipboard.SetAsHandle(cf_Text, x);
Clipboard.SetAsHandle(cf_Bitmap, y);
Clipboard.Close;

答案 1 :(得分:3)

所有现代程序都使用OleSetClipboard发布剪贴板格式和数据。开始reading here