在使用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.   

    有用过richedit控件的朋友帮忙给看一下!
      

  2.   

    第二个问题:当输入文字的颜色是白色时,选中后白色的文字看不到,应该是richedit1.0版本的bug,使用richedit2.0版本即可。
    相关使用方法参见:http://blog.csdn.net/happyhell/article/details/4376242
      

  3.   

    好像有出现了新的问题:richedit2.0不能插入自定义超链接,已尝试多次都不能插入!
      

  4.   


      分享RichEdit控件的使用 
      

  5.   

    谢谢分享,但是有两个问题:
    (1)对超链接设置颜色是无效的;
    (2)对richedit2.0版本,插入自定义超链接也是无效的。
      

  6.   

    代码中使用的是RichEdit20A,这个版本的,将汉字只作一个字符来处理,从而因为位置计算问题,导致插入超链接产生问题