Форум: "Начинающим";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
ВнизTDBGrid.DefaultDrawColumnCell Найти похожие ветки
← →
Sandman29 © (2006-01-05 13:02) [0]Ставлю TDBGrid.DefaultDrawing = True, обработчик OnDrawColumnCell c рисованием картинки вместо одного из полей. dgRowSelect in Options.
Симптомы проблемы:
при нажатии стрелки вниз курсор доходит до последней отображаемой строки и останавливается, бегунок скроллинга продолжает менять свою позицию;
при использовании мышки получается шахматная доска - старая строка не закрашивается неактивным цветом полностью, в новой строке тоже закрашиваются не все поля. Пробовал установить TDBGrid.DefaultDrawing = False и первой строкой обработчика вызывать DefaultDrawColumnCell(...), проблема остается.
На всех машинах, кроме нескольких, работает. На этих нескольких стоит либо WinXP SP2, либо Win2003. В множестве работающих машин тоже есть WinXP SP2 и Win2003.
Что это за глюк, и есть ли другой способ, кроме как рисовать весь грид самому? Надеюсь, проблема в этих машинах, выпускать новую версию очень не хочется.
← →
Sandman29 © (2006-01-06 10:13) [1]Изучил реализацию DrawColumnCell, убедился, что все делаю правильно.
Поставил серию опытов (пересылал измененные версии заказчику и просил сообщить о результатах). Выяснилось, что пробелма связана с тем, что в глючном гриде есть невидимый в данном случае Column, он прячется в run-time, после чего не работает даже обычная прорисовка без всяких OnDraw...Cell. Придется обходить проблему с помощью использования двух почти одинаковых гридов вместо одного. Бред, да и только :(
← →
Vemer © (2006-01-16 09:31) [2]OnDrawColumnCell := False;
Call TDBGrid(Sender) default drawing procedure in end of your .DrawColumnCell procedure.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.01.29;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.027 c