Страница 1 из 1

Изменение атрибутов текста в RichEdit'е на лету

Добавлено: 26 авг 2004, 11:49
se®pent
Даровайте!

Есть трабл

Задача:
Получить текст из базы в RichEdit'е но так чтоб к примеру первое поле выводилось жирным, второе красным и прочее
Первое поле<font color=red>второе поле</font>

как быть?
не ужели запоминать концы участка, выделять и применять атрибуты?

Добавлено: 26 авг 2004, 21:05
Naeel Maqsudov
не ужели запоминать концы участка, выделять и применять атрибуты?
Да.
Можно еще также по ходу добавления текста:

Код: Выделить всё

  with RichEdit1 do with Lines,SelAttributes do begin
    Color:=clred;
    Add('qwe');
    Color:=clblue;
    Add('wertwert');
    Color:=clred;
    Add('qwe');
    Color:=clblue;
    Add('wertwert');
  end;

Добавлено: 27 авг 2004, 02:22
se®pent
угу пасиб!
а существует какая либо возможность добавления текста на туще строку что был добавлен предыдущий? RichEdit1->Lines->Add("dsfsadf");
не используя
RichEdit1->Lines->Strings[k]=RichEdit1->Lines->Strings[k]+" ";
?

Добавлено: 31 авг 2004, 08:18
Naeel Maqsudov
Элементарно

Код: Выделить всё

  RichEdit1.SelAttributes.Color := clred;
  RichEdit1.SelText := RichEdit1.SelText+'The red text. ';
  RichEdit1.SelAttributes.Color := clblue;
  RichEdit1.SelText := RichEdit1.SelText+'The blue text on the same line.';

SelText - это либо то, что выделено, либо просто место где стит курсор.