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

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
se®pent
Сообщения: 2
Зарегистрирован: 26 авг 2004, 11:47
Контактная информация:

26 авг 2004, 11:49

Даровайте!

Есть трабл

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

как быть?
не ужели запоминать концы участка, выделять и применять атрибуты?
Аватара пользователя
Naeel Maqsudov
Сообщения: 2551
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

26 авг 2004, 21:05

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

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

  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;
se®pent
Сообщения: 2
Зарегистрирован: 26 авг 2004, 11:47
Контактная информация:

27 авг 2004, 02:22

угу пасиб!
а существует какая либо возможность добавления текста на туще строку что был добавлен предыдущий? RichEdit1->Lines->Add("dsfsadf");
не используя
RichEdit1->Lines->Strings[k]=RichEdit1->Lines->Strings[k]+" ";
?
Аватара пользователя
Naeel Maqsudov
Сообщения: 2551
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

31 авг 2004, 08:18

Элементарно

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

  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 - это либо то, что выделено, либо просто место где стит курсор.
Ответить