我使用MS TextServices实现无窗口富文本编辑和设置CFE_LINK来创建超链接。这一切都有效但当我将文本保存到我的内部缓冲区以写入文件时,CFE_LINK效果不会被保存。
我(尝试)确保自动检测URL为OFF。
我使用EM_STREAMOUT从编辑器保存到缓冲区,因为RichEdit的UTF-8似乎不能与Unicode一起使用。
我查看了保存的RTF并查看了MS RTF规格,我看不出会使用哪个控制字,所以现在我担心它实际上没有保存。
从我的经验来看,答案似乎是否定的.squhedhed控件动态创建超链接格式,但不存储它。
六年前左右,我花了很多时间尝试使用riched20.dll(当时是richedit控件的第3版)来实现你可能要做的事情。我希望在笔记本应用程序中有“正确”的超链接:url将被标记为隐藏文本,而描述文本将加下划线并可点击。我能做的最好的事情就是在运行时实现这一点,用CFE_LINK标记任意一段文本。保存并重新加载rtf流后,更改将会消失。没有任何问题可以做任何好事,尽管在StackOverflow之前就好了:)
我的解决方案是用第三方控件替换richedit,例如TRichView,它可以做你想要的。