请问如何将richedit中的所有'aaa'字符变成蓝颜色,其他的字符颜色不变?

解决方案 »

  1.   

    richedit.text := 'bbbaaaaaa';
    richedit.selstart := 4;
    richedit.sellength := 3;
    richedit.selcolor := clred;映象中是这样子.
      

  2.   

    search一下,结果看死你!太多了。
      

  3.   

    melice的恢复有些错误,修改如下:richedit1.text := 'bbbaaaaaa';
    richedit1.selstart := 4;
    richedit1.sellength := 3;
    richedit1.SelAttributes.Color := clred;
      

  4.   

    楼上各位没有明白我的意思,文本很长,怎么把所有的'aaa'都找出来呢,pos是可以,但是只能找到第一个啊,一行一行的找实在是太慢了,用MemoryStream流是能快点,但是这么方法实在太占用计算机时间了,我是希望寻求一种简便一点的方法,希望各位大哥帮帮我唉
      

  5.   

    function SearchForText(RichEdit: TRichEdit; SearchText: String): Boolean; 
    var 
      StartPos, Position, Endpos: Integer; 
    begin 
      StartPos := 0; 
      with RichEdit do 
      begin 
        Endpos := Length(RichEdit.Text); 
        Lines.BeginUpdate; 
        while FindText(SearchText, StartPos, Endpos, [stMatchCase])<>-1 do 
        begin 
          Endpos   := Length(RichEdit.Text) - Startpos; 
          Position := FindText(SearchText, StartPos, Endpos, [stMatchCase]);
          Inc(StartPos, Length(SearchText)); 
          SelStart  := Position;
          SelLength := Length(SearchText);
          SelAttributes.Color := clBlue;
        end;
        Lines.EndUpdate;
      end;
    end;