Вставка UnicodeString в TRichEdit

Вопрос простой: Как сформировать строку UnicodeString так чтобы при вставке её в TRichEdit применилось форматирование, например цвет отдельных слов строки. Какие управляющие символы отвечают за это? Есть полный список?
5 ответов

Есть спецификация RTF: http://www.biblioscape.com/rtf15_spec.htm


Я думал можно проще. Помогите сделать так чтобы второе слово в строке отобразилось красным цветом после вставки в RichEdit.
UnicodeString Str = "First second third";


void ColorSecondWordInLine(TRichEdit *re, int Line, TColor LineColor)
{
    String s = re->Lines->Strings[Line];
    int first_space = s.Pos(" ");
    re->SelStart = SendMessage(re->Handle, EM_LINEINDEX, Line, 0) + first_space;
    re->SelLength = Pos(" ", s, first_space + 1) - first_space - 1;
    re->SelAttributes->Color = LineColor;
}
 
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    UnicodeString Str = "First second third";
    RichEdit1->Lines->Add(Str);
    ColorSecondWordInLine(RichEdit1, RichEdit1->Lines->Count - 1, clBlue);
}
, например


Да нет, вы немного не поняли, сама строка должна содержать в себе сведение о том, что слово №X красное.


Тогда смотрим спецификацию и пишем строку согласно этой спецификации. И еще не факт что получится. Делайте это сами, у меня на подобные извращения нет ни времени, ни желания.Удачи.