Hola Nomad, tu dices que quieres pintar una celda de acuerdo al valor que escriba en dicha celda, entonces debes preguntar dentro del evento OnDrawCell directamente por ese valor y dependiendo del balor pintas, ejemplo
Si se escrito un 1 en la celda, se pinta de rojo y se pone en negrita.
Código Delphi
[-]
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
Rect: TRect; State: TGridDrawState);
begin
if (StringGrid1.Cells[ACol,ARow]='1') and (ACol=4) then
begin
StringGrid1.Canvas.Brush.Color := clRed;
StringGrid1.Canvas.FillRect(Rect);
StringGrid1.Canvas.Font.Style := [fsBold];
DrawText(StringGrid1.Canvas.Handle,PChar(StringGrid1.Cells[Acol,ARow]),-1, Rect, DT_LEFT);
end;
end;
Saluditos