![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запретить перерисовку DBGrida [D7, XP]
veb © (2006-04-04 10:58:00)Здравствуйте! Подскажите, пожалуйста, как запретить перерисовку DBGrida, когда по нему движется другой объект(панель).
Смысл такой:
- запретить перерисовку
- по таймеру выдвигается панель
- разрешить перерисовку.
Сейчас панель двигается очень медленно, когда в DBGride много элементов, особенно разукрашенных.
KSergey (2006-04-06 11:29:00) [21]> ЮЮ © (06.04.06 09:59) [8]
> > А на этом битмапе удасться ли отрисовать недостающие части
> > грида?
> Недостающие-то зачем? Насколько я понял, пока панель плывет,
> грид не меняется.
Панель, уплывая, открывает грид. Т.е. становятся видимы новые колонки грида.
ЮЮ (2006-04-06 09:59:00) [22]
> А на этом битмапе удасться ли отрисовать недостающие части
> грида?
Недостающие-то зачем? Насколько я понял, пока панель плывет, грид не меняется.
KSergey (2006-04-06 09:48:00) [23]Предлагаю:
а) двигать панель не на пиксель каждый раз, а на кол-во пикселей, пропорционально затраченному времени прошлого сдвига. Ну и зафиксировать общее желаемое время сдвига. Тогда уезжать будет за одно (примерно) время.
А вообще, если уж хочется вообще красиво - есть подозрение, что ЮЮ прав... Хоть и противно лично мне такое решение :). Кроме того, панелька при "уезжании" тоже вень не приглядно выглядит - а в варианте с bitmap можно и ее забитмапить.
> ЮЮ © (06.04.06 06:13) [6]
> Сохранить изображение в битмап,
> сам грид скрыть,
> битмап выложить на обозрение.
> При движении панели будет просто отрисовываться этот битмап
А на этом битмапе удасться ли отрисовать недостающие части грида?.. чего-то сомнение меня разбирать начали, что это вообще получится...
ЮЮ (2006-04-06 06:13:00) [24]перед появлением панели:
Сохранить изображение в битмап,
сам грид скрыть,
битмап выложить на обозрение.
При движении панели будет просто отрисовываться этот битмап
При сокрытии панели вернуть всё взад
З.Ы. Если раздражает только мигание, а не скорость, часто достаточно установить DobleBeffered в True (в run-time, ибо св-во не опубликовано) у компонента, на котором находится грид
veb (2006-04-05 21:33:00) [25]думаю, что проще посмотреть, чем на пальцах объяснять:
скачайте
http://crimeasoft.narod.ru/Download/VideoCat.exe
и на вкладке фильмы нажмите кнопку скрытия панели.
Так вот, эта панель зависит от количества элементов DBGrida. При большом количестве все мигает и дергается.
Бугага (2006-04-05 03:26:00) [26]Я не могу понять: что за панель?
Германн (2006-04-05 02:29:00) [27]Скорее всего, никак. Каждое окно должно перерисовываться, если что изменилось.
veb (2006-04-04 23:46:00) [28]Нет!
DisableControls отключает обновление данных в DataSet
А мне нужна перерисовка DBGrid.
Конечно, я пробовал DisableControls - не помагает, панель сверху по DBGrid движется все равно очень медленно.
Бугага (2006-04-04 19:12:00) [29]DisableControls?