POr si ha alguien le interesa pongo la solución, para ello utilizo una función tan comentada como es:
Código Delphi
[-]
if (dbgrid.Options=dbgrid.Options+[dgAlwaysShowSelection]) and (gdselected in state) then
begin
dbgrid.Canvas.Brush.Color:=clMenu;
dbgrid.Canvas.Font.color:=clInfotext;
end;
dbgrid.DefaultDrawColumnCell(Rect,DataCol,Column,State);
La condición expuesta puede ser redundante ya que pongo que el dbgrid continue se muestre selecionada y pongo también (gdSelected in state), es decir, que es estado sea selecionado, pues bien explico porque si no pongo esto último sería en caso de que exista un campo selecionado coloreo todo el dbgrid y poniendo esa consición más me colorea solo el campo selecionado en el dbgrid, que es lo que yo quería.
Espero que lo hayais entendido y que le sirva a alguien de ayuda.
Chao