delphifontsrichedit

Colorful text in the same line in TRichEdit


How to write text in the same line but with different color? (I use richedit).

procedure TForm1.btnEClick(sender: TObject);
begin

  m0.SelAttributes.Color := clBlue;
  m0.SelAttributes.Style := [fsBold];
  m0.lines.add('This is blue and it is bold');
  m0.SelAttributes.Color := clGreen;
  m0.SelAttributes.Style := [fsBold];
  m0.lines.add ('This is Green and it is bold');
  m0.lines.add('');
  m0.lines.add('But how to write text in the same line with different color?');
  // i want to have both blue and green in the same line 
end;

Best Wishes, Bee


Solution

  • You're on the right track. Just change SelAttributes and use SelText instead of Lines.Add:

    procedure TForm4.FormCreate(Sender: TObject);
    begin
      RichEdit1.Clear;
      RichEdit1.SelAttributes.Color := clBlue;
      RichEdit1.SelAttributes.Style := [fsBold];
      RichEdit1.SelText := 'This is bold blue text.';
      RichEdit1.SelAttributes.Color := clRed;
      RichEdit1.SelAttributes.Style := [fsItalic];
      RichEdit1.SelText := #32'This is italic red text';
    end;
    

    This produces

    Sample output from code above