比如EDIT中有大量字符的时候,我想查找其中是否有str字符串,如果有的话将其着色,就像word中的字符查找功能,请问能实现吗?

解决方案 »

  1.   

    当然可以实现!只是MFC的控件不能满足,得自己重绘....
      

  2.   

    建议使用CRichEditCtrl,在找到后可以使用SetSel( beginpos, endpos );
    着色使用类似下面代码:
    CHARFORMAT2 cf2;
    ZeroMemory( &cf2, sizeof(CHARFORMAT2) );
    cf2.cbSize = sizeof(CHARFORMAT2);
    cf2.dwMask = CFM_COLOR;
    cf2.crTextColor= 你需要突出的颜色;richedit.SendMessage( EM_SETCHARFORMAT, SCF_WORD | SCF_SELECTION, (LPARAM)&cf2 );
      

  3.   

    CEdit的话,可能会麻烦一些,CRichEditCtrl会简单很多CRichEditCtrl::FindText()