Hola.
Es que para rellenar las celdas con color, vas a tener que usar el evento
OnDrawCell del StringGrid.
Como para darte una idea, te pongo un ejemplo que pinta las filas cuyas celdas [0][n] tengan una fecha comprendida entre otras dos.
Código:
...
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender,
int ACol, int ARow, TRect &Rect, TGridDrawState State) {
TCanvas *CV = static_cast<TCanvas*>(StringGrid1->Canvas);
TDate FechaCell = StrToDate(StringGrid1->Cells[0][ARow]);
if (FechaCell >= FechaInicio && FechaCell <= FechaFin) {
CV->Brush->Color = clLime;
CV->FillRect(Rect);
CV->TextOut(Rect.Left+1,Rect.top+1,StringGrid1->Cells[ACol][ARow]);
}
}
...
Saludos.