2013-11-25 2 views
8

Как написать текст в той же строке, но с другим цветом? (я использую richedit).Цветной текст в той же строке в TRichEdit

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; 

С наилучшими пожеланиями, Bee

ответ

16

Вы находитесь на правильном пути. Просто измените SelAttributes и использовать SelText вместо 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; 

Это производит

Sample output from code above

 Смежные вопросы

  • Нет связанных вопросов^_^