Ver Mensaje Individual
  #4  
Antiguo 14-08-2008
Avatar de Caro
*Caro* Caro is offline
Moderadora
 
Registrado: jul 2004
Ubicación: Cochabamba, Bolivia
Posts: 2.544
Reputación: 22
Caro Va por buen camino
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
   //Pintamos la celda de rojo
   StringGrid1.Canvas.Brush.Color := clRed;
   StringGrid1.Canvas.FillRect(Rect);
 
   //ponemos en negrita el texto
   StringGrid1.Canvas.Font.Style := [fsBold];
   DrawText(StringGrid1.Canvas.Handle,PChar(StringGrid1.Cells[Acol,ARow]),-1, Rect, DT_LEFT);
  end;
end;

Saluditos
__________________
Disfruten cada minuto de su vida a lado de sus seres queridos como si fuese el ultimo, uno nunca sabe lo que puede pasar.
Responder Con Cita