如何在Rich Edit Control中管理超链接
一、在Rich Edit Control 中显示超链接
在Rich Edit Control 中显示超链接的格式,也就是给选择的文本添加CFE_LINK属性,可以通过以下两种方法实现:
1、 自动检测超链接
Rich Edit Control本身具有URL检测功能,可以自动识别满足要求的URL文本,并自动为该文本添加CFE_LINK属性,也就显示为超链接格式,目前控件可以检测以下前缀的URL文本:
http: file: mailto: ftp: https: gopher: nntp: prospero: telnet: news: wais:
(1)打开自动检测
CWnd
*
pRE
=
GetDlgItem(IDC_RICHEDIT1);
pRE
->
SendMessage(EM_AUTOURLDETECT, TRUE,
0
);
(2)关闭自动检测
CWnd
*
pRE
=
GetDlgItem(IDC_RICHEDIT1);
pRE
->
SendMessage(EM_AUTOURLDETECT, FALSE,
0
);
(3)判断当前自动检测是否打开
BOOL bEnable
=
pRE
->
SendMessage(EM_GETAUTOURLDETECT,
0
,
0
);
2、 手动设置文本为超链接格式
如果不打开rich edit control的URL检测功能,我们可以手工对感兴趣的文本设置CFE_LINK属性,从而使其显示为超链接格式。
(1)设置CFE_LINK
CWnd
*
pRE
=
GetDlgItem(IDC_RICHEDIT1);
CHARFORMAT2 cf; 
ZeroMemory(
&
cf,
sizeof
(CHARFORMAT2));
cf.cbSize
=
sizeof
(CHARFORMAT2);
cf.dwMask
=
CFM_LINK;
cf.dwEffects
|=

本文详细介绍了如何在Rich Edit Control中管理和显示超链接。内容包括自动和手动设置超链接,处理EN_LINK事件以响应用户交互,以及如何根据超链接文本和位置进行不同操作的策略。通过建立映射关系,可以精确控制每个超链接的行为。
最低0.47元/天 解锁文章
139





