-
Он ведь, похоже, сразу от Tedit наследует. Ведь он совершенно не моргает, а на изменение текста реагирует сразу, делая жирным нужные слова. Не похоже на RichEdit. Понятно, что парсят текст из него в отдельном потоке. Но все равно... Вот ворд. Пишешь в нем что-то, а он очень не скоро подчеркивает неправильные слова и т. д. А дельфи сразу. Понятно, что дельфям надо только зарезервированные слова выделять, а их мало, а ворду вообще весь словарь смотреть, а он весьма большой. Но всё равно. Или его от мемы наследовали, а процедуру рисования перекрыли? Тоже ведь нет. И курсор совсем иначе себя ведёт. Как он всё-таки устроен?
-
Если реально интересно, как такое может быть, то есть набор компонентов SynEdit с такими же ТТХ и открытым исходным кодом.
-
Посмотри Scintilla или SynEdit - два ярких представителя редакторов с поддержкой синтаксиса. Мне больше нравиться движок Scintilla, он правда под VC++, но достаточно просто дружится и с Дельфи.
-
Вот SynEdit качнул. Меня не сама поддержка синтаксиса интересует, а как реализована она. Поддержка очевидно - парсер, который трудится в отдельном потоке.
-
У ворда и у delphi задачи несколько разные. Поэтому ворд может с проверкой орфографии и подождать, пустив поток, ответственный за орфографию, с пониженнм приоритетом.
|