在richedit的同一行如何实现有两种颜色?(300分)

  • 主题发起人 主题发起人 yijin
  • 开始时间 开始时间
其实RichEidt可以对任意被选择的文字进行属性的设置,同一行当然可以了,如下:
RichEdit1.SelStart := 5;
RichEdit1.SelLength := 5;
RichEdit1.SelAttributes.Style := [fsBold];
RichEdit1.SelAttributes.Size := 12;
RichEdit1.SelAttributes.Color := clRed;
RichEdit1.SelStart := 15;
RichEdit1.SelLength := 5;
RichEdit1.SelAttributes.Style := [fsBold];
RichEdit1.SelAttributes.Size := 11;
RichEdit1.SelAttributes.Color := clBlue;
 
其实上面的哥哥的答案已经解决了问题
还可以利用richedit1.defattributes配合使用
 
能不能说具体一点?
比如现在要在richedit里加入新的一行"good morning",要求good用红色,morning用蓝色,
而以前的文本不变,怎么实现呢?
 
>>yijin
上面不是已经说得很清楚吗?!你只需要确定[red]选择文字的起始位置[/red]与[red]选择文字的长度[/red]就可以
设置该选择文字的各种属性了。
如:
iSelStart : Integer;
iSelStart := RichEdit1.SelStart;
RichEdit1.Lines.Add('good morning');
RichEdit1.SelStart := iSelStart;
RichEdit1.SelLength := Length('good');
RichEdit1.SelAttributes.Color := clRed;
RichEdit1.SelStart := RichEdit1.SelStart+Length('morning');
RichEdit1.SelLength := Length('morning');
RichEdit1.SelAttributes.Color := clBlue;
 
多人接受答案了。
 
后退
顶部