![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Добавление разноцветной форматированной строки в RichEdit
azl © (2011-01-16 15:12:00)Здравствуйте, уважаемые Мастера.
Подскажите, пожалуйста, каким образом можно добавить строку в RichEdit, чтобы у нее были некоторые слова разного цвета, некоторые выделены жирным?
Например:
Это разноцветная форматированная строкав RichEdit.
Слово "разноцветная" - красного цвета, слово "форматированная" - зеленого цвета, а "RichEdit" - синего.
"форматированная строка" - выделено жирным.
Добавлять каждую новую строку разного цвета - не проблема, а вот как сделать чтобы слова в одной строке были разноцветные, жирные и т.д.?
Работаю в Delphi XE.
Заранее спасибо.
azl (2011-01-16 22:04:00) [21]У меня с головой проблем нет, я привел пример, который был выложен на одном из форумов.
За пример, спасибо.
Palladin (2011-01-16 21:59:00) [22]
> azl (16.01.11 21:50) [4]
Если у тебя не проблемы с головой, то с мышлением проблемы точно. Этож надо... присваивать SelText значение и думать что все эти значения в тексте будут в Selection... читаем до просветления
Read SelText to determine the value of the selected text. Set SelText to replace the selected text with a new string. If there is no selection, but the edit control has focus, set SelText to insert a new string into the text at the cursor.
а вот пример на основе ПЕРВОЙ ДЕСЯТКИ РЕЗУЛЬТАТОВ ПОИСКА В ГУГЛЕ !!!111 адин адин адин
procedure RESetTextColor(p_theRE: TRichEdit; p_nColor: TColor;
p_nFrom, p_nTo: Integer);
var
n: Integer;
begin
n := p_theRE.SelStart;
p_theRE.SelStart := p_nFrom;
p_theRE.SelLength := abs(p_nFrom - p_nTo) + 1;
p_theRE.SelAttributes.Color := p_nColor;
p_theRE.SelStart := n;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
RichEdit1.Text := 'Мама мыла раму'#13#10'в раму мама чегото';
RESetTextColor(RichEdit1, clBlue, 1, 4);
end;
Leonid Troyanovsky (2011-01-16 21:50:00) [23]
> azl (16.01.11 21:25) [2]
> Было бы, я бы не стал здесь писать.
http://groups.google.com/group/fido7.ru.delphi.chainik/msg/828f6f7876add59c
--
Regards, LVT.
azl (2011-01-16 21:50:00) [24]Не надо умничать, пожалуйста. Вот возьми хоть один и попробуй. Я перепробовал все. Как ты определил, что работает, если не захотел в дерьме рыться и алмазики выискивать?
Единственный толковый ответ здесь, на похожий вопрос:
http://forum.sources.ru/index.php?s=9b03753932c9b6d580ef12b3d4ed1c43&showtopic=280274
Правда, там для Си. Но в переводе на Delphi не работает.
RichEdit1.Clear;
RichEdit1.SelAttributes.Color := clBlue;
RichEdit1.SelText := 'Главный Герой:) ';
RichEdit1.SelAttributes.Color := clBlack;
RichEdit1.SelText := 'стрельнул вправо в ';
RichEdit1.SelAttributes.Color := clRed;
RichEdit1.SelText := 'Монстр1';
RichEdit1.SelAttributes.Color := clBlack;
RichEdit1.SelText := ', который отошел влево, и промахнулся';
//и т.д.
Выводится ', который отошел влево, и промахнулся' без всякого форматирования.
Palladin (2011-01-16 21:30:00) [25]ага... типа вы за меня в говне поройтесь, алмазик вытяните и мне отдайте...
что же ты искал? чего там толкового нет? в первых 10 результатах поиска есть необходимая информация для форматирования содержимого...
и все же... как же ты так хитро строчки то добавляешь с разным форматированием? средства, предоставляемые объктом, не работают со строками, они работают с частью текста... примеры есть как раз в первой десятке...
azl (2011-01-16 21:25:00) [26]А то я бы сам не догадался ввести в гугл? Искал, долго искал. Ничего толкового там нет.
Было бы, я бы не стал здесь писать.
Есть ссылка на конкретный пример, покажите, а ссылки на гугл и я могу давать.
Palladin (2011-01-16 15:44:00) [27]http://tinyurl.com/46j5hjq
интересно, каким образом целые строки отличаются от части текста