我在一个CEDIT控件中显示一个字符串,我现在希望改变字符串中某一段字符的颜色和字体,应该如何操作?例如我打一个“abcdefg,hijklmn,opqrst,uvwxyz”,我希望把“hijklmn”这段变成红色加粗,其他字符不变。
谢谢

解决方案 »

  1.   

    CEDIT控件做不到 ,CRichEDIT控件应该可以
      

  2.   

    CRichEditCtrl控件,应该会简单一些
      

  3.   

    CEdit是实现不了你要的功能的,只能够用CRichEditCtrl
      

  4.   

    如果你只是简单设置编辑框汇中一些文字的颜色使用SetSelectionCharFormat,SetParaFormat可以设计其它的字体样式
    // m_edit是关联了CRichEditCtrl控件变量
    m_edit.SetWindowText(_T("Hello,World!!!"));
    CHARFORMAT cFmt = {0}; 
    cFmt.cbSize = sizeof(CHARFORMAT);
    cFmt.crTextColor = RGB(0,0,255);
    cFmt.dwEffects = 0;
    cFmt.dwMask = CFM_COLOR;
    m_edit.SetSel(1,5);
    m_edit.SetSelectionCharFormat(cFmt);
      

  5.   

    恩,好谢谢。
    刚才又查了一下,觉得我要的功能是要用SetSelectionCharFormat,弄了弄可以了。
    这会看你的代码就当我再验证一下自己的,嘿嘿。
    谢谢啊。