如何更改剪贴板上的文本而不更改格式信息?

时间:2009-07-19 16:32:52

标签: delphi clipboard

另一个剪贴板问题:

当文本放到剪贴板上时,它经常以多种方式进行,通常有和没有格式化信息。我想知道的是 - 如何在不改变格式的情况下更改剪贴板上的文本。换句话说,我想改变文本方面,但保持格式完全相同。

这又是我的“TextScrubber”应用程序,我想从剪贴板上的文本中删除换行符,但我不想更改有关该文本的格式信息。

我希望通过遍历所有格式,存储每个格式,然后在文本被擦除后重新插入它,我不必“强力”它。

3 个答案:

答案 0 :(得分:7)

我认为“蛮力”正是你必须要做的 - 根据MSDN Win32 API,没有别的办法。

答案 1 :(得分:3)

是的,尼克。我认为在这种情况下,你将会遇到已经建议的解决方案。剪贴板是多年来在增强部门中并未引起太多关注的一个领域。这可能是因为它确实需要简单,无处不在且功能齐全。

答案 2 :(得分:0)

为什么不简单地从剪贴板加载,更改文本,然后回写到剪贴板?

也许像Sergey Tkachenko的TBin剪贴板那样简单:http://delphi32.org/vcl/2889/

Eric Rosenberger对“Can not round trip html format to clipboard”的回答也可能有用。