![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| mikhea |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 16.9.2007 Репутация: нет Всего: нет |
Добрый день!
Столкнулся с такой проблемой. Есть StringGrid, внутри него несколько столбцов с кнопками, на каждой кнопке картинка. Количество строк динамически изменяется в процессе работы с программой (их можно добавлять, удалять и т.д.), соответственно, количество кнопок тоже меняется. Так вот, при прокрутке таблицы и перемещнии строк кнопки начинают жутко мерцать, а сама форма - тормозить и подвисать. Причем чем больше строк, тем более выражена проблема (что, впрочем, вполне логично). Кто-нибудь знает, можно ли как-нибудь уменьшить мерцание и торможение? Возможно, у меня не очень хорошо написан обработчик OnTopLeftChanged. |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
mikhea, какой класс кнопок используется? если TButton/TBitButton, то неудивительно то, что мерцает.
Попробуй переделать на TSpeedButton (+попробуй выставить форме Doublebuffered=true), либо вообще рисовать и обрабатывать кнопки вручную, ну и для полного "фарша" перейти на TDrawGrid либо на TVirtualTreeView. -------------------- There are always someone smarter than you... |
|||
|
||||
| mikhea |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 8 Регистрация: 16.9.2007 Репутация: нет Всего: нет |
MetalFan, используется класс TRzBitBtn, т.к. нужно иметь возможность задавать цвет кнопок. Конечно, можно было просто использовать картинку определенного цвета, но сейчас это переделывать уже нереально. Doublebuffered в true установлен. Рисовать вручную тоже не вариант, это нужно весь проект переделывать, проще уж оставить как есть тогда.
|
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
mikhea, первый раз слышу... может в этом наборе компонент есть какой нибудь TRzSpeedButton? попробуй перейти на его использование.
-------------------- There are always someone smarter than you... |
|||
|
||||
| anjela00 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 20.10.2012 Репутация: нет Всего: нет |
DoubleBuffered в True установлен (при создании формы).
Вот мой обработчик OnTopLeftChanged: Код:
Это сообщение отредактировал(а) MetalFan - 20.10.2012, 17:21 |
||||
|
|||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |