我在richedit中添加文字,要用3种颜色,结果,发现一改变一处文字的颜色,其他的也变了。我是用下面的方法:
Richedit.SelStart := 5;
RichEdit.SelLength := 3;
RichEdit.Text := RichEdit.Text + 'abc';
RichEdit.selAttributes.Color := clBlue;
这样只能改变一次颜色,再改另一处,第一处位置的文字也变了颜色。
请大侠指点

解决方案 »

  1.   

    http://expert.csdn.net/Expert/topic/2542/2542153.xml?temp=.2061579
      

  2.   

    我明白了,我用的是rxlib控件包里的rxrichedit,换成delphi自带的richedit就可以了。
    唉,rxrichedit这个bug怎么解决呢?
      

  3.   

    RichEdit.Text := RichEdit.Text + 'abc';
     Richedit.SelStart := 0;
     RichEdit.SelLength := 3;
     RichEdit.selAttributes.Color := clRed;把这句放前面呀 RichEdit.Text := RichEdit.Text + 'abc';
      

  4.   

    如:
     RichEdit.Text := RichEdit.Text + 'abc';
     RichEdit.Text := RichEdit.Text + 'abc';
     RichEdit.Text := RichEdit.Text + 'abc';
     Richedit.SelStart := 0;
     RichEdit.SelLength := 3;
     RichEdit.selAttributes.Color := clRed;
     Richedit.SelStart := 3;
     RichEdit.SelLength := 6;
     RichEdit.selAttributes.Color := clblue;
     Richedit.SelStart := 6;
     RichEdit.SelLength := 9;
     RichEdit.selAttributes.Color := clgreen;