В Lazarus есть очень удобная возможность - подсветка текущего слова по всему документу.
Как такое сделать в SynEdit?
[РЕШЕНО] SynEdit подсветка текщего слова
Модератор: Модераторы
[РЕШЕНО] SynEdit подсветка текщего слова
Последний раз редактировалось mirk 07.09.2012 08:52:00, всего редактировалось 1 раз.
Нет решения? 
-
eastorwest
- новенький
- Сообщения: 57
- Зарегистрирован: 23.07.2009 20:21:46
- Откуда: Н-ск
Для ленивых копирую код поста http://www.lazarus.freepascal.org/index.php/topic,17128.msg94093.html#msg94093.
Создать приложение Lazarus, разместить компонент SynEdit1: TSynEdit на форме, добавить модуль SynEditMarkupHighAll в секцию uses. Код обработки события OnCreate:

Создать приложение Lazarus, разместить компонент SynEdit1: TSynEdit на форме, добавить модуль SynEditMarkupHighAll в секцию uses. Код обработки события OnCreate:
Код: Выделить всё
procedure TForm1.FormCreate(Sender: TObject);
var
SynMarkup: TSynEditMarkupHighlightAllCaret;
begin
SynMarkup := TSynEditMarkupHighlightAllCaret(SynEdit1.MarkupByClass[TSynEditMarkupHighlightAllCaret]);
SynMarkup.MarkupInfo.FrameColor := clSilver;
SynMarkup.MarkupInfo.Background := clGray;
SynMarkup.WaitTime := 100; // millisec
SynMarkup.Trim := True; // no spaces, if using selection
SynMarkup.FullWord := True; // only full words If "Foo" is under caret, do not mark it in "FooBar"
SynMarkup.IgnoreKeywords := False;
end;

Огромное спасибо.
Не дошел еще до поиска на английском форуме, искал в исходниках (добрался только до объявления опции в TAdditionalHilightAttribute).
Не дошел еще до поиска на английском форуме, искал в исходниках (добрался только до объявления опции в TAdditionalHilightAttribute).
