如何在RichEdit控件中抑制超链接周围的尖括号

时间:2012-10-26 21:30:22

标签: mfc rtf richedit

我正在使用CRichEditCtrl::StreamIn在运行时从资源中的RTF文件初始化RichEdit20W控件的内容。文件中的RTF文本:

... blah {\field{\*\fldinst{HYPERLINK "www.foo.com/bar"}}{\fldrslt{\ul\cf1 www.foo.com/bar}}}\f0\fs24 blah ...

我注意到Win XP和Win 7之间的行为有所不同(不确定Vista):

Win XP 中(显示的链接没有任何格式或周围的括号):

  

...等等www.foo.com/bar blah ...

Win 7 中(链接显示为蓝色,带下划线,并由尖括号括起):

  

... blah< www.foo.com/bar>等等...

如果我将相同的文档加载到写字板或MS Word中,则会显示链接(带蓝色下划线的文本),但没有周围的括号

我认为写字板在幕后使用相同的控件,所以必须有一些方法来抑制这种行为。有谁知道怎么关掉它?

1 个答案:

答案 0 :(得分:0)

如果找到解决方案,请分享。我也面临同样的问题。

我编辑了我的rtf以删除超链接标记并将URL保留为普通文本并将EM_AUTOURLDETECT设置为true。 Richeedit识别了URL和超链接,并处理了EN_LINK中的WM_NOTIFY消息。

虽然可能不是解决实际问题的方法。