Hola chinchan.
Un ejemplo con un StringGrid:
Código:
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
int ARow, TRect &Rect, TGridDrawState State)
{
if (State.Contains(gdFocused)) {
StringGrid1->Canvas->Brush->Color = clRed;
StringGrid1->Canvas->FillRect(Rect);
StringGrid1->Canvas->Font->Color = clYellow;
DrawText(StringGrid1->Canvas->Handle,StringGrid1->Cells[ACol][ARow].c_str(),
StringGrid1->Cells[ACol][ARow].Length(),&Rect,
DT_NOCLIP | DT_SINGLELINE);
}
}
Te aclaro que al abandonar el foco del TStringGrid, retornará a su color original.
Saludos.