CRichEditCtrl的超链接识别。

gmyhbio 2012-05-10 12:32:12
用AddHyperLink函数可以自动识别http协议,只要满足下面个条件,就会自动加上链接属性。
CString strText;
if (strText.Find("http://", 0) != -1 || strText.Find("www.", 0) != -1)

void MyDlg::AddHyperLink(CString strText, int nAction)
{
//添加超链接
CHARRANGE chrg;
CWnd *pRE = GetDlgItem(IDC_GETSAY);

pRE->SendMessage(EM_EXGETSEL, 0L, (LPARAM)&chrg);
SetLink(TRUE);
//如果此时设置了EM_GETAUTOURLDETECT,并且输入文本不符合URL格式,
//以下文本的CFE_LINK属性会被自动取消,解决此问题可以在文本添加后再设置CFE_LINK属性
pRE->SendMessage(EM_REPLACESEL, (WPARAM)TRUE, (LPARAM)(LPCSTR)strText);

m_mapHL[chrg.cpMin] = nAction;
}

请问,我有一个自己创建的协议link://
如果我要实现上面所述的自动识别功能,该如何去实现?
...全文
97 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gmyhbio 2012-07-24
  • 打赏
  • 举报
回复
有木有人解答阿?
gmyhbio 2012-06-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

http://www.msdncode.com/forum.php?mod=viewthread&tid=795
这个可以,按照一步一步测试,就可以弄出
[/Quote]

大哥,你这个帖被删除了- -晕呐。
msdncode 2012-05-12
  • 打赏
  • 举报
回复
http://www.msdncode.com/forum.php?mod=viewthread&tid=795
这个可以,按照一步一步测试,就可以弄出
向立天 2012-05-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
没一个人回复?
[/Quote]我不是特别明白你的意思
gmyhbio 2012-05-11
  • 打赏
  • 举报
回复
没一个人回复?
gmyhbio 2012-05-10
  • 打赏
  • 举报
回复
VS2008能识别到我创建的协议,为什么我的程序就不行呢?

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧