1

我正在使用 MS TextServices 实现无窗口富文本编辑并设置 CFE_LINK 以创建超链接。这一切都有效,但是当我将文本保存到内部缓冲区以写入文件时,不会保存 CFE_LINK 效果。

我已经(试图)确保 AutoDetectURL 处于关闭状态。

我正在使用 EM_STREAMOUT 从编辑器保存到缓冲区,因为 RichEdit 的 UTF-8 似乎不适用于 Unicode。

我查看了保存的 RTF 并查看了 MS RTF 规范,但看不到将使用什么控制字,所以现在我担心它实际上并没有保存。

4

1 回答 1

1

根据我的经验,答案似乎是否定的。richedit 控件即时创建超链接格式,但不存储它。

大约六年前,我花了很多时间尝试使用riched20.dll(当时是richedit 控件的第3 版)来实现您可能想要做的事情。我想在笔记本应用程序中拥有“正确”的超链接:url 将被标记为隐藏文本,而描述文本将带有下划线且可点击。我能做的最好的就是在运行时实现这一点,用 CFE_LINK 标记任意文本段。保存并重新加载 rtf 流后,更改将消失。再多的询问也没有任何好处,尽管那是在 StackOverflow 之前 :)

我的解决方案是用第三方控件替换richedit,例如TRichView,它可以做你想做的事。

于 2010-02-27T14:54:58.887 回答