Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Не отрисовываются все ячейки в DBGrid   Найти похожие ветки 

 
Unknown_user   (2011-02-10 19:09) [0]

Создал наследника TDBGrid, установил DefaultDrawing := False и перекрыл метод DrawColumnCell, где и производится вся отрисовка.

Если в опциях грида dgRowSelect и грид занимает по ширине всю клиентскую область парента, то DrawColumnCell вызывается только для первой ячейки активной строки. Остальные ячейки не обновляются.

При смене активной строки старая остается выделенной а в новой выделяется(перерисовывается) лишь первая ячейка.

Стоит только немного изменить ширину любой колонки и сразу все начинает обновляться.

Заметил это как-то связано с горизонтальным скроллбаром. Глюки с отрисовкой появляются после изменения ширины колонок при которой прячется горизонтальный скроллбар и сам грид при этом растянут на всю клиентскую область.

Есть такая критичная ширина грида при которой проявляется этот неприятный эффект.

Использую Delphi XE.


 
Игорь Шевченко ©   (2011-02-10 21:01) [1]


> Заметил это как-то связано с горизонтальным скроллбаром


да, надо менять оконную процедуру DBGrid и при WM_HSCROLL обновлять всю область грида.

Вот тут еще на эту тему:

http://delphikingdom.com/asp/viewitem.asp?catalogid=806


 
Unknown_user   (2011-02-11 00:02) [2]

Спасибо, буду рыть дальше. Значит это проблема стандартного DBGrid"а?



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.048 c
2-1339663694
сыр
2012-06-14 12:48
2013.03.22
помощь в разборе кода


3-1276194806
Дмитрий Белькевич
2010-06-10 22:33
2013.03.22
Еще вопрос по оптимизации запроса.


2-1332071987
Pcrepair
2012-03-18 15:59
2013.03.22
компонент TIdHTTP, разница в синтаксисе для ИНДИ7 и ИНДИ10


15-1343645986
Es
2012-07-30 14:59
2013.03.22
TcxComboBox, уведомление о Delete?


2-1340013571
IGray
2012-06-18 13:59
2013.03.22
Как правильно закрыть модальную форму из OnActivate?