Tengo una duda:
¿Para que sirve verificar si tiene foco?
Código Delphi
[-] if (Column.Index = 2) and (Column.Field.Dataset.FieldbyName('PRECIO').AsFloat < 0) then
if (gdFocused in State) then
Begin
DBGrid1.canvas.brush.color := clBlue;
end
else
Begin
DBGrid1.Canvas.Font.Color := clRed;
DBGrid1.DefaultDrawColumnCell(rect,DataCol,Column,State);
end;
pues si lo hago de esta manera funciona igual:
Código Delphi
[-] if (Column.Index = 2) and (Column.Field.Dataset.FieldbyName('PRECIO').AsFloat < 0) then
Begin
DBGrid1.Canvas.Font.Color := clRed;
DBGrid1.DefaultDrawColumnCell(rect,DataCol,Column,State);
end;