Главная страница
    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.44 MB
Время: 0.065 c
15-1353661371
legolazzzz
2012-11-23 13:02
2013.03.22
cos в чате


15-1340596830
ArchValentin
2012-06-25 08:00
2013.03.22
Обучение


15-1343248203
Юрий
2012-07-26 00:30
2013.03.22
С днем рождения ! 26 июля 2012 четверг


2-1348073809
123456789igor
2012-09-19 20:56
2013.03.22
цикл в цикле


15-1340220153
Дмитрий С
2012-06-20 23:22
2013.03.22
Посоветуйте алгоритм контрольной цифры.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский