Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2009, 10:44   #11
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Конечно если хочется собрать все шишки, то можно самому. Но лучше все же компонент заюзать.

p.s. Я как-то хотел сам сервер перетаскивания сделать, примерно та же история вышла что у Уткина с раскраской, пока компонент не заюзал.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 07.07.2009, 11:45   #12
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Ну вчера решил сам сделать, и вроде что-то получилось (делаю редактор скриптов для собственной игры).
Существует единственная проблема: обновление подсветки. Если обновлять в OnKeyPress то RichEdit жутко лагает. Поэтому пришлось сунуть код обновления цветов в таймер чтоб обновлял каждые две секунды.
Изображения
Тип файла: jpg Screen.jpg (43.5 Кб, 129 просмотров)

Последний раз редактировалось Вадим Буренков; 07.07.2009 в 11:50.
Вадим Буренков вне форума Ответить с цитированием
Старый 07.07.2009, 13:11   #13
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Изображение не моргает ?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика
Utkin вне форума Ответить с цитированием
Старый 07.07.2009, 13:28   #14
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Во время обновления, но не сильно, поскольку я использую
Код:
Lines.BeginUpdate;
и
Lines.EndUpdate;
Эти команды позволяют обновлять текст не посимвольно а сразу. А можно сделать чтоб вообще не моргало? Ведь в Delphi нет никаких проблем с обновлением подсветки.
Вадим Буренков вне форума Ответить с цитированием
Старый 07.07.2009, 13:33   #15
Utkin
Старожил
 
Аватар для Utkin
 
Регистрация: 04.02.2009
Сообщений: 17,351
По умолчанию

Именно об этом я и хотел тебе сказать . В общем-то я устранял этот эффект тоже апдейтами, только тщательным продумыванием места их установки.

Вас интересует контроль синтаксиса?
Маньяк-самоучка
Utkin появился в результате деления на нуль.
Осторожно! Альтернативная логика

Последний раз редактировалось Stilet; 08.07.2009 в 11:17.
Utkin вне форума Ответить с цитированием
Старый 07.07.2009, 13:45   #16
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Эти команды позволяют обновлять текст не посимвольно а сразу. А можно сделать чтоб вообще не моргало? Ведь в Delphi нет никаких проблем с обновлением подсветки.
Ну и не забывайте про DoubleBuffered, а также можно использовать невидимый дополнительный объект как буфер. Вобщем с морганием можно побороться, не такая уж проблема.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 07.07.2009, 13:58   #17
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Цитата:
только тщательным продумыванием места их установки.
Я как раз и делаю проверки. Текст обновляется если не нажата ни одна из клавиш, если RichEdit активен, если текст не выделен (иначе выделение снимется при обработке) и раз в 2 секунды. Сильного дискомфорта при использовании программы уже не чувствуется.

Попробовал DoubleBuffered: когда ставишь true то текст в RichEdit перестает отображаться ( как я понял он не обновляется).

Последний раз редактировалось Вадим Буренков; 07.07.2009 в 14:06.
Вадим Буренков вне форума Ответить с цитированием
Старый 07.07.2009, 14:07   #18
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Однако способ все равно не кошерный с таймером
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 07.07.2009, 14:10   #19
Вадим Буренков
Участник клуба
 
Аватар для Вадим Буренков
 
Регистрация: 06.03.2009
Сообщений: 1,346
По умолчанию

Ну а как лучше сделать?
Вадим Буренков вне форума Ответить с цитированием
Старый 07.07.2009, 14:12   #20
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Цитата:
Сообщение от Вадим Буренков Посмотреть сообщение
Ну а как лучше сделать?
События?

Насчет DoubleBuffered, именно в RichEdit я его не использовал, а в других компонентах полностью проблему он не решает, решает частично, мерцание меньше становится, но полностью не исчезает. Полностью можно избавится с помощью своего буфера, я по крайней мере так делал, в кач-ве буфера - второй такой же объект, но невидимый. В нем изменяешь, а потом одним махом переносишь на экран в видимый, с обычным Мемо этот фокус работает, с RichEdit не знаю, надо пробовать.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог

Последний раз редактировалось mutabor; 07.07.2009 в 14:20.
mutabor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подсветка синтаксиса => Патрон Общие вопросы Delphi 21 03.01.2016 11:48
Нормальная подсветка синтаксиса. Simply-Art Общие вопросы Delphi 4 08.12.2008 17:23
сделать Подсветку в хтмл с помощью ява скрипта? Simply-Art JavaScript, Ajax 2 08.12.2008 16:09
Новая подсветка синтаксиса Alar О форуме и сайтах клуба 25 06.10.2008 11:15
Подсветка синтаксиса Simply-Art Общие вопросы Delphi 2 29.05.2007 16:22