是这样的,我想把RichEdit1下相同的内容变成同一种颜色
比如
aaa(红)
bbb
ccc(绿)
ddd
aaa(红)
dd
ccc(绿)
fff
=====================================================
RichEdit1.SelStart:=0;
RichEdit1.SelLength:=1;
RichEdit1.SelAttributes.Color:=rgb(255,0,0);
RichEdit1.SelStart:=10;
    RichEdit1.SelLength:=5;
    RichEdit1.SelAttributes.Color:=rgb(0,255,255);
我想肯定要查找RichEdit1内容,我不清楚FINDTEXT的用法,请大家指点一下

解决方案 »

  1.   

    苯办法procedure TForm1.Button3Click(Sender: TObject);
    var
      i: integer;
      start: integer;
    begin
      start := 0;
      for i := 0 to RichEdit1.Lines.Count - 1 do
      begin
        if RichEdit1.Lines.Strings[i] = 'aaa' then
        begin
          RichEdit1.SelStart := start;
          RichEdit1.SelLength := Length(RichEdit1.Lines.Strings[i]);
          RichEdit1.SelAttributes.Color := rgb(255,0,0);
        end;
        if RichEdit1.Lines.Strings[i] = 'ccc' then
        begin
          RichEdit1.SelStart := start;
          RichEdit1.SelLength := Length(RichEdit1.Lines.Strings[i]);
          RichEdit1.SelAttributes.Color := rgb(0,255,255);
        end;
        start := start + Length(RichEdit1.Lines.Strings[i]) + 2;
      end;
    end;
      

  2.   

    function ChangeColorAll(Color:COLORREF):boolean;
    begin
      richedit1.SelectAll;
      richedit1.SelAttributes.Color:=Color;
    end;
      

  3.   

    function FindText(const SearchStr: string; StartPos, Length: Integer; Options: TSearchTypes): Integer;
    //SearchStr 搜索的字符串
    //StartPos 从那里还是搜索
    //Length 搜索的长度
    //TSearchType { stWholeWord, stMatchCase }
    //返回查找到字符的启始位置 -1 表示没找到~ 0 表示在StartPos 位置~