如何在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 );
pRE -> SendMessage(EM_AUTOURLDETECT, TRUE, 0 );
(2)关闭自动检测
CWnd
*
pRE
=
GetDlgItem(IDC_RICHEDIT1);
pRE -> SendMessage(EM_AUTOURLDETECT, FALSE, 0 );
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;
CHARFORMAT2 cf;
ZeroMemory( & cf, sizeof (CHARFORMAT2));
cf.cbSize = sizeof (CHARFORMAT2);
cf.dwMask = CFM_LINK;