Das Problem ist, dass du hier zwei Mengen auf Gleichheit überprüfst.
Nur Zellen, die Selected
und Fokusiert werden eingefärbt (nur eine Zelle hat den Fokus)
Delphi-Quellcode:
begin
if gdSelected in State then // ***
DBGrid1.Canvas.Brush.Color := clred
else
DBGrid1.Canvas.Brush.Color := clWhite;
end;