问一下关于CRichEditCtrl的两个问题,请大家帮忙看一下!

dvlinker
C/C++领域优质创作者
博客专家认证
2012-06-15 10:01:38
在使用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
...全文
189 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
大国工匠007 2013-03-06
  • 打赏
  • 举报
回复
我也遇到了同样的问题,受教了!
dvlinker 2012-06-20
  • 打赏
  • 举报
回复
很悲剧啊,竟然都没几个人回帖,好在自己硬着头皮搞出点眉目啦!
dvlinker 2012-06-19
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]
分享RichEdit控件的使用
[/Quote]谢谢分享,但是有两个问题:
(1)对超链接设置颜色是无效的;
(2)对richedit2.0版本,插入自定义超链接也是无效的。
dvlinker 2012-06-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

好像有出现了新的问题:richedit2.0不能插入自定义超链接,已尝试多次都不能插入!
[/Quote]代码中使用的是RichEdit20A,这个版本的,将汉字只作一个字符来处理,从而因为位置计算问题,导致插入超链接产生问题
zgl7903 2012-06-18
  • 打赏
  • 举报
回复
comtraveler 2012-06-18
  • 打赏
  • 举报
回复
应该是即时通讯软件的界面吧,颜色有点偏暗了!
dvlinker 2012-06-18
  • 打赏
  • 举报
回复
呵呵,人气不行啊,都几乎没人响应的!
dvlinker 2012-06-18
  • 打赏
  • 举报
回复
好像有出现了新的问题:richedit2.0不能插入自定义超链接,已尝试多次都不能插入!
dvlinker 2012-06-18
  • 打赏
  • 举报
回复
第二个问题:当输入文字的颜色是白色时,选中后白色的文字看不到,应该是richedit1.0版本的bug,使用richedit2.0版本即可。
相关使用方法参见:http://blog.csdn.net/happyhell/article/details/4376242
dvlinker 2012-06-15
  • 打赏
  • 举报
回复
超链接效果图如下所示:
dvlinker 2012-06-15
  • 打赏
  • 举报
回复
请童鞋们帮忙看一看啊!
dvlinker 2012-06-15
  • 打赏
  • 举报
回复
有用过richedit控件的朋友帮忙给看一下!

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧