Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Подсветка текcта фоном в RichEdit в нескольких местах / 6 сообщений из 6, страница 1 из 1
09.07.2020, 06:14
    #39977687
m52
m52
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсветка текcта фоном в RichEdit в нескольких местах
Здравствуйте,

Бывает так, что RichEdit содержит много текста и нужно набрав в поиске часть слова, например, "приве", подсветить фоном все найденные фрагменты слова в тексте. Таких фрагментов может быть несколько.

и потом убрать все эти выделения, когда станут ненужны.
Возможно ли такое или выделить можно только синим (SelStart, SelLength) и только 1 кусок текста?
...
Рейтинг: 0 / 0
09.07.2020, 08:10
    #39977697
cptngrb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсветка текcта фоном в RichEdit в нескольких местах
m52,

для подсветки использовал DevExpress RichEdit. Там можно точно. Про стандартный точно не скажу.
...
Рейтинг: 0 / 0
09.07.2020, 11:03
    #39977723
m52
m52
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсветка текcта фоном в RichEdit в нескольких местах
DevExpress не использую.
Использую JvRichEdit из набора компонентов JEDI.
...
Рейтинг: 0 / 0
09.07.2020, 11:43
    #39977732
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсветка текcта фоном в RichEdit в нескольких местах
m52
DevExpress не использую.
Использую JvRichEdit из набора компонентов JEDI.

Вручную искать все фрагменты и выделять им фон, потом возвращать как было. Со стандартным иначе никак, ИМХО.
Чтобы на лету всё делать надо чтобы отрисовка своя была.
...
Рейтинг: 0 / 0
09.07.2020, 16:09
    #39977806
Кроик Семён
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсветка текcта фоном в RichEdit в нескольких местах
m52,

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
//проверял только в Delphi 6 + нужен "uses RichEdit"

procedure SetRichEditSelectionBGColor(ARichEd: TRichEdit; ABGColor: TColor);
var
   recCharFormat: TCharFormat2;  
begin
   //BG-Color
   FillChar(recCharFormat, sizeof(recCharFormat), 0);
   recCharFormat.cbSize := sizeof(recCharFormat);
   recCharFormat.dwMask := CFM_BACKCOLOR;

   if ABGColor<>clNone then
      recCharFormat.crBackColor := ColorToRGB(ABGColor)
   else
      recCharFormat.crBackColor := ColorToRGB(ARichEd.Color);

   ARichEd.Perform(EM_SETCHARFORMAT, SCF_SELECTION, LParam(@recCharFormat));
end;
...
Рейтинг: 0 / 0
09.07.2020, 20:32
    #39977889
m52
m52
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подсветка текcта фоном в RichEdit в нескольких местах
Кроик Семён,

Спасибо огромное, кажется это то, что надо!
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Подсветка текcта фоном в RichEdit в нескольких местах / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]