在使用CRichEditCtrl的过程中,出现了两个问题:
(1)添加超链接的时候,改变超链接文字的颜色无效,使用如下的代码:
CHARFORMAT cf;
ZeroMemory( &cf, sizeof(CHARFORMAT) );
cf.cbSize = sizeof(CHARFORMAT);
cf.dwMask = CFM_COLOR | CFM_FACE | CFM_LINK | CFM_SIZE | CFM_UNDERLINE;
cf.dwEffects = CFE_LINK | ~CFE_AUTOCOLOR;
cf.crTextColor = RGB( 0, 114, 193 ); // 文字颜色 // 设置“打开文件”的超连接
int nTotalTextLength = m_ChatDisplay.GetWindowTextLength();
m_ChatDisplay.ReplaceSel( _T("打开文件") );
int nEndPos = m_ChatDisplay.GetWindowTextLength();
m_ChatDisplay.SetSel( nTotalTextLength, nEndPos );
m_ChatDisplay.SetSelectionCharFormat( cf );(2)如何改变当文字被选中时的颜色,即改变选中阴影的颜色?
现在有这样的一个问题:选中是的阴影色是黑色,当输入文字的颜色是白色时,选中后白色的文字看不到,对比QQ、飞信是可以看到的,所以看选中阴影颜色能否改变一下。注:开发工具是VC6.0
(1)添加超链接的时候,改变超链接文字的颜色无效,使用如下的代码:
CHARFORMAT cf;
ZeroMemory( &cf, sizeof(CHARFORMAT) );
cf.cbSize = sizeof(CHARFORMAT);
cf.dwMask = CFM_COLOR | CFM_FACE | CFM_LINK | CFM_SIZE | CFM_UNDERLINE;
cf.dwEffects = CFE_LINK | ~CFE_AUTOCOLOR;
cf.crTextColor = RGB( 0, 114, 193 ); // 文字颜色 // 设置“打开文件”的超连接
int nTotalTextLength = m_ChatDisplay.GetWindowTextLength();
m_ChatDisplay.ReplaceSel( _T("打开文件") );
int nEndPos = m_ChatDisplay.GetWindowTextLength();
m_ChatDisplay.SetSel( nTotalTextLength, nEndPos );
m_ChatDisplay.SetSelectionCharFormat( cf );(2)如何改变当文字被选中时的颜色,即改变选中阴影的颜色?
现在有这样的一个问题:选中是的阴影色是黑色,当输入文字的颜色是白色时,选中后白色的文字看不到,对比QQ、飞信是可以看到的,所以看选中阴影颜色能否改变一下。注:开发工具是VC6.0
相关使用方法参见:http://blog.csdn.net/happyhell/article/details/4376242
分享RichEdit控件的使用
(1)对超链接设置颜色是无效的;
(2)对richedit2.0版本,插入自定义超链接也是无效的。