Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   TStringGrid, colorear UNA celda. (https://www.clubdelphi.com/foros/showthread.php?t=80086)

TiammatMX 03-09-2012 19:40:25

TStringGrid, colorear UNA celda.
 
Buena tarde, jóvenes delphineros:

Pues nada, resulta que tengo un TStringGrid, y requiero colorear UNA celda dependiendo de su contenido. Es decir, en ésa celda puede contener o no un texto específico (en éste caso, la palabra "sí"), en caso de estar presente ésta palabra, la celda deberá aparecer en color verde, caso contrario en su color "natural" (clWindow, clWindowText)..., ¿alguien podría colaborarme con un poco de código para solucionar éste asunto, por favor?

Agradeciendo de antemano.

roman 03-09-2012 19:52:28

Usa el evento OnDrawCell del StringGrid.

// Saludos

roman 03-09-2012 20:10:30

Ejemplo:

Código Delphi [-]
procedure TForm1.StringGrid1DrawCell(
  Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
  with Sender as TStringGrid do
    if Cells[ACol, ARow] = 'SÍ' then
    begin
      Canvas.Brush.Color := clGreen;
      Canvas.FillRect(Rect);
      Canvas.TextRect(Rect, Rect.Left + 2 ,Rect.Top + 2, Cells[ACol, ARow]);
    end;
end;

// Saludos

TiammatMX 03-09-2012 23:01:49

Cita:

Empezado por roman (Mensaje 441601)
Ejemplo:
...

¡¡Gracias, Román!! Muy instructivo y compacto (y me pesa decirlo por que no se me ocurrió), simple y sencillo.


La franja horaria es GMT +2. Ahora son las 01:18:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi