Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Добавление разноцветной форматированной строки в RichEdit


Страницы:   1 2

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

интересно, каким образом целые строки отличаются от части текста


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо