读书人

CRichEditCtrl的超链接判别

发布时间: 2012-09-04 14:19:30 作者: rapoo

CRichEditCtrl的超链接识别。
用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://
如果我要实现上面所述的自动识别功能,该如何去实现?


[解决办法]

探讨
没一个人回复?

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

读书人网 >VC/MFC

热点推荐