我正在使用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中,则会显示链接(带蓝色下划线的文本),但没有周围的括号。
我认为写字板在幕后使用相同的控件,所以必须有一些方法来抑制这种行为。有谁知道怎么关掉它?
答案 0 :(得分:0)
如果找到解决方案,请分享。我也面临同样的问题。
我编辑了我的rtf以删除超链接标记并将URL保留为普通文本并将EM_AUTOURLDETECT
设置为true。 Richeedit识别了URL和超链接,并处理了EN_LINK
中的WM_NOTIFY
消息。
虽然可能不是解决实际问题的方法。