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

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

Есть ли аналог компонентов MEMO или RichEdit в delphi? [D7]


Kiloper ©   (2006-08-08 17:53:00) 

Есть ли аналог компонентов MEMO или RichEdit в delphi, но только чтобы текст можно было менять стиль тескта по строчкам, например одна строчка 10 шрифтом жирная, а другая курсивом 12 шрифтом? Или как это можно осуществить?


Ketmar   (2006-08-10 13:33:00) [1]

> [16] tButton ©   (10.08.06 13:28)

не спорю. см. мой TAKChat -- я там пытался подобное начать. правда, сделано коряво, но задумка была. можешь попробовать взять и довести до ума -- код там public domain.


tButton   (2006-08-10 13:28:00) [2]


> но сделать нормальный richView

зависит от задачи.


Ketmar   (2006-08-10 11:38:00) [3]

> [14] TButton ©   (10.08.06 06:23)

или так. но сделать нормальный richView -- это задача не на 5 минут.


TButton   (2006-08-10 06:23:00) [4]

я вот подумал, а не проще ли будет рендерить текст на битмап?
т.е. хранить лог и по необходимости рендерить нужный кусок


Ketmar   (2006-08-09 20:43:00) [5]

> [12] Anatoly Podgoretsky ©   (09.08.06 19:49)

ну я же сказал, что в курсе формы Земли... %-)


Anatoly Podgoretsky   (2006-08-09 19:49:00) [6]

Ketmar ©   (08.08.06 22:23) [6]
Выделение есть всегда, только SelLength=0


Shaman_   (2006-08-09 13:58:00) [7]

Я уже писал выше про использование RTF кода

Вот так можно получить RTF код:

function GetRTFText(ARichEdit: TRichedit): string;
var
 ss: TStringStream;
 emptystr: string;
begin
emptystr := '';
ss := TStringStream.Create(emptystr);
try
 ARichEdit.PlainText := False;
 ARichEdit.Lines.SaveToStream(ss);
 Result := ss.DataString;
finally
 ss.Free
end;
end;


А вот так записать RTF код в TRichEdit

procedure SetRTFText(ARichEdit: TRichEdit; const ARTFText: string);
var
 ss: TStringStream;
begin
ss := TStringStream.Create(ARTFText);
try
 ARichEdit.PlainText := False;
 ARichEdit.Lines.LoadFromStream(ss);
finally
 ss.Free;
end;
end;


Чтобы быстрей понять как устроена RTF разметка, отформатируй строку в ворде и вставляй в TRichEdit, потом смотри получившийся код


Ketmar   (2006-08-09 09:58:00) [8]

> [9] TButton ©   (09.08.06 05:34)

а сохранить старое выделение и вернуть на место после добавления строки -- никак?


> хотелось бы сцылку на инфу

google, rtf specification.


TButton   (2006-08-09 05:34:00) [9]


> так снимай выделение. дел-то? %-)

представь ситуацию
выделяешь ты текст из лога, чтоб копипастнуть его. бэмс! и снялось выделение. почему? а строчка добавилась. не вежливо.
ждать же пока юзер сам снимет выделение - глупо. запретить выделять - опять не вежливо.

поэтому, хотелось бы сцылку на инфу по
> RTF разметки. Формируй праввильный RTF код


Ketmar   (2006-08-09 02:06:00) [10]

> [7] Германн ©   (09.08.06 02:03)

а я и не смеялся. я намекал на то, что в курсе ньюансов работы richedit, и разжёвывать их не надо.


Германн   (2006-08-09 02:03:00) [11]

2 Ketmar ©   (08.08.06 22:23) [6]

> зыж я знаю, что Земля не круглая. (ц) %-)

Давно уже не смешно. Твоя прежняя подпись была более смешной. Имхо.

Прошу прощения за offtop.


Ketmar   (2006-08-08 22:23:00) [12]

или устанавливается для набираемых буковок, если выделения нет.

зыж я знаю, что Земля не круглая. (ц) %-)


Anatoly Podgoretsky   (2006-08-08 21:01:00) [13]

Форматирование применяется к выделеному тексту.


Ketmar   (2006-08-08 20:42:00) [14]

> [2] tButton ©   (08.08.06 19:34)

так снимай выделение. дел-то? %-)


Shaman_   (2006-08-08 19:51:00) [15]

все офирмление в RichEdit описывается с помощью RTF разметки. Формируй праввильный RTF код


tButton   (2006-08-08 19:34:00) [16]

воевал с рич едитом
вроде б нормально получается добавлять строки с разной подсветкой, но)
если во время добавления строки в рич едите выделен текст. то подсветка применяется не к добавляемой строке, а к выделеному тексту)


Ketmar   (2006-08-08 17:55:00) [17]

TRichEdit, ага? f1 и курить до пресветленияю вместе с каталогом demos.


Наверх

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