Событие, которое вы хотите, называется DBGridDrawColumnCell
, и вам нужно решить, включить или отключить свойство DefaultDrawing, и способ обработки DBGridDrawColumnCell изменится соответственно. В вашем случае вы просто устанавливаете цвета, но оставляете DefaultDrawing равным true и не делаете никаких других холстов. Текстовое или GDI-рисование.
Недавний вопрос, который я задал здесь , показал, что в более поздних версиях Delphi (2010, Xe, Xe2) вам также иногда нужно вызывать Canvas.Refresh
для TDBGRID и TListView при изменении свойств холста в событиях ownerdraw но это не относится к Delphi 7.