CFE_LINK是否存储在RTF RichEdit 3.0中?

时间:2010-02-26 20:57:20

标签: delphi richtextbox rtf richedit

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

我(试图)确保AutoDetectURL为OFF。

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

我查看了保存的RTF并查看了MS RTF规格,我看不出会使用哪个控制字,所以现在我担心它实际上并没有保存。

1 个答案:

答案 0 :(得分:1)

根据我的经验,答案似乎是否定的。富有控件在运行时会创建超链接格式,但不会存储它。

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

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