例如:我在edit框里面输入了http://www.csdn.net,那么在edit框里面应该显示这条链接,并且用鼠标点击该链接就自动弹出一个网页,网页地址就是这条链接http://www.csdn.net
解决方案 »
- 送分80分:
- 怎么实现一个窗口的隐藏提示消息?
- 在新建的 ATL COM AppWizard工程中,当插入新的 ATL Object 时,提示Error Invoking ATL Object Wizard Component,请问是什么原因?如何处理?
- 请教全局类指针的申明和定义方法!
- 用SendTo函数发送数据返回错误WSAENOTSOCK,什么原因呢?
- 程序中如何判断excel的版本!
- 明日超酷晶体管进度条(VC源代码发布)
- windows程序设计第五版哪里有下载?
- [救急]怎么本来CHAR类型可以使用的函数现在都非const unsigned short*不可了???
- ACCESS 问题,怎么当数据库是空的时候,加入数据会非法操作!
- 通过word模板怎样创建word 的*.doc文件 在线ing
- 有高手能说一下为什么要用DispatchMessage?
或者Edit自己定义字体
然后捕捉单击后ShellExecute
三.聊天常用 a.LINK 链接功能1. LoadLibrary(_T("Riched20.dll"));2. 创建RichEdit2.0控件CreateEx(0, _T("RichEdit20A"), NULL, WS_CHILD|WS_VISIBLE|WS_VSCROLL|WS_TABSTOP
|ES_READONLY|ES_WANTRETURN|ES_MULTILINE,
rect.left, rect.top, cx, cy,
pParentWnd->m_hWnd, (HMENU)nID, NULL);3. 设定选中的文字为链接显示
CHARFORMAT2 cf2;
ZeroMemory(&cf2, sizeof(CHARFORMAT2));//
cf2.cbSize = sizeof(CHARFORMAT2);
cf2.dwMask = CFM_LINK;
cf2.dwEffects |= CFE_LINK;
m_cRichEdit.SendMessage(EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf2);4.支持链接的点击响应
m_cRichEdit.SetEventMask(ENM_LINK);5.响应链接的点击EN_LINK
BEGIN_MESSAGE_MAP(CMyRichEdit, CRichEditCtrl)
ON_NOTIFY_REFLECT(EN_LINK,OnURL)
END_MESSAGE_MAP()
......void CMyRichEdit::OnURLClick(NMHDR *pNmhdr, LRESULT *pResult)
{
TCHAR LinkChar[512];
ENLINK *pLink = (ENLINK *)pNmhdr;
if (pLink->msg == WM_LBUTTONUP)
{
SetSel(penLink->chrg);//这是链接的文字范围
long Res = GetSelText((char *)LinkChar);//这是链接文字
//后面是你的处理过程
......
}
}