当用户点击按纽,richedit1.seltext:='abc'.现在我想让abc用蓝色显示出来,然后以后在richedit1中输入的字符串还是用系统默认的黑色,现在问题是如果我用richedit1.Font.Color=clblue,呆会在richedit输入其它字符,它也会认为为是蓝色

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var i_Pos,:integer;
    begin
        i_Pos:=pos('abc',richedit1.Text);
        if i_Pos>0 then
        begin
            richedit1.SelStart:=i_Pos - 1;
            richedit1.SelLength:=3;
            richedit1.SelAttributes.Color:=clred;
        end;
    end;
      

  2.   

    让所有abc都变成红色。
    var i_Pos,i_Last,StrLen:integer;
        Str,FindStr:string;
    begin
        str:=richedit1.Text;
        FindStr:='abc';
        StrLen:=Length(FindStr);
        i_Last:=0;    i_Pos:=pos(FindStr,str);
        delete(str,1,i_Pos + StrLen - 1);    while i_Pos>0 do
        begin
            i_Last:=i_Last + i_Pos;
            richedit1.SelStart:=i_Last - 1;
            richedit1.SelLength:=StrLen;
            richedit1.SelAttributes.Color:=clred;
            i_Pos:=pos(FindStr,str);
            delete(str,1,i_pos + StrLen - 1);
            i_Last:=i_Last + StrLen - 1;
        end;
    end;
      

  3.   

    www.nxit.net/bbs里有这些专题,是否去看一看呢?