vc6中richedit显示链接的实现
2009-04-06 20:58
267 查看
下午照着论坛一个帖子做的,记录下来。
步骤:
1. 建立基于对话框的mfc工程,名字就叫showlink吧。
2. 将richedit控件拖入对话框内,打开CShowlinkApp类,在InitInstance中添加AfxInitRichEdit()。
3. 用classwizard新建一个CRichEditCtrl的派生类CMyEdit,并添加两个函数:
void CMyEdit::SetLink()
{
CHARFORMAT2 cf2;
ZeroMemory(&cf2, sizeof(CHARFORMAT2));//
cf2.cbSize = sizeof(CHARFORMAT2);
cf2.dwMask = CFM_LINK;
cf2.dwEffects |= CFE_LINK;
SendMessage(EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf2);
}
void CMyEdit::OnURLClick(NMHDR *pNmhdr, LRESULT *pResult)
{
TCHAR LinkChar[512];
ENLINK *penLink = (ENLINK *)pNmhdr;
if (penLink->msg == WM_LBUTTONUP)
{
SetSel(penLink->chrg);
long Res = GetSelText((char *)LinkChar);
LinkChar[Res] = 0;
ShellExecute(NULL, "open", LinkChar, NULL, NULL, SW_SHOWNORMAL);
}
pResult = FALSE;
}
4.在MyEdit.cpp的BEGIN_MESSAGE_MAP(CMyEdit, CRichEditCtrl)里添加一句话:ON_NOTIFY_REFLECT(EN_LINK,OnURLClick)
5.在showlinkdlg.h中添加#include "MyEdit.h",在类中添加一个成员变量CMyedit m_cRich.
6.在CShowlinkDlg的OnInitDialog中添加两句:
m_cRich.SetEventMask(ENM_LINK);
m_cRich.SendMessage(EM_AUTOURLDETECT, (WPARAM)true,0);
编译一下,输入个网址,点击就可以打开了
步骤:
1. 建立基于对话框的mfc工程,名字就叫showlink吧。
2. 将richedit控件拖入对话框内,打开CShowlinkApp类,在InitInstance中添加AfxInitRichEdit()。
3. 用classwizard新建一个CRichEditCtrl的派生类CMyEdit,并添加两个函数:
void CMyEdit::SetLink()
{
CHARFORMAT2 cf2;
ZeroMemory(&cf2, sizeof(CHARFORMAT2));//
cf2.cbSize = sizeof(CHARFORMAT2);
cf2.dwMask = CFM_LINK;
cf2.dwEffects |= CFE_LINK;
SendMessage(EM_SETCHARFORMAT, SCF_SELECTION, (LPARAM)&cf2);
}
void CMyEdit::OnURLClick(NMHDR *pNmhdr, LRESULT *pResult)
{
TCHAR LinkChar[512];
ENLINK *penLink = (ENLINK *)pNmhdr;
if (penLink->msg == WM_LBUTTONUP)
{
SetSel(penLink->chrg);
long Res = GetSelText((char *)LinkChar);
LinkChar[Res] = 0;
ShellExecute(NULL, "open", LinkChar, NULL, NULL, SW_SHOWNORMAL);
}
pResult = FALSE;
}
4.在MyEdit.cpp的BEGIN_MESSAGE_MAP(CMyEdit, CRichEditCtrl)里添加一句话:ON_NOTIFY_REFLECT(EN_LINK,OnURLClick)
5.在showlinkdlg.h中添加#include "MyEdit.h",在类中添加一个成员变量CMyedit m_cRich.
6.在CShowlinkDlg的OnInitDialog中添加两句:
m_cRich.SetEventMask(ENM_LINK);
m_cRich.SendMessage(EM_AUTOURLDETECT, (WPARAM)true,0);
编译一下,输入个网址,点击就可以打开了
相关文章推荐
- vc6中richedit显示链接的实现
- C++ budilder 使用ImageOle.dll 实现richedit显示任意格式图片和连接 gif
- 通过ATL COM组件实现在RichEdit中各种图片的显示(包括Gif图片的显示)
- 再谈向RichEdit中插入GIF动画的实现
- (源码实例)通过层DIV实现,当鼠标放在链接上面,显示图片及文字 - 流星絮语 JAVA学习笔记 - CSDNBlog
- RichEdit中添加链接
- 在UWP中使用RichEditBox只读时图片显示问题(最后有关于RichEditBox颜色问题的解决方案)
- android如果重写onDraw实现一个类似TextView可以显示表情和链接的控件(二)
- RichEdit选中文字右键菜单的实现
- 在vc6实现png图像文件的显示方法
- (源码实例)通过层DIV实现,当鼠标放在链接上面,显示图片及文字
- RichEditDemo v1.0版发布,仿QQ聊天对话框界面实现
- Atitit.实现反向代理(1)----url rewrite 配置and内容改写 and -绝对路径链接改写 java php
- 如何用CSS实现图像替换链接文本显示并保证链接可点击
- Android TextView重写onMeasure和onDraw显示无拉伸图片(含实现代码链接)
- RichEdit中支持超链接的实现
- js实现阻止状态栏不显示链接
- html静态实现左边导航右边显示链接页面
- RichEdit显示行号
- (源码实例)通过层DIV实现,当鼠标放在链接上面,显示图片及文字