Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Coloboración Paypal con ClubDelphi

 
 
Herramientas Buscar en Tema Desplegado
  #5  
Antiguo 11-06-2015
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola xdelph
Cita:
Empezado por xdelph Ver Mensaje
En todos veo el método DrawCell,...
Así es. Y no esperes encontrar algún método como DrawRow por que vas a perder tu tiempo...

Para que pintes una fila y permanezca pintada vas a tener que usar una columna adicional para indicar el estado de dicha columna (pintada o no).

Un ejemplo: (pinta de rojo cuando la columna tiene color blanco y viceversa)
Código Delphi [-]
procedure TForm1.FormCreate(Sender: TObject);
var
  c, f: Integer;
begin
  with StringGrid1 do
  begin
    for c := FixedCols to ColCount-1 do
      for f:= FixedRows to RowCount-1 do
        Cells[c,f] := IntToStr(c+f);
    ColCount := ColCount +1 ;    // columna adicional
    ColWidths[ColCount-1] := 0;  // ocultar columna adicional
    Options := Options + [goEditing];
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
const
  CSELECTED : array[Boolean] of string = ('','x');
begin
  with StringGrid1 do
  begin
    Cells[ColCount-1, Row] := CSELECTED[Cells[ColCount-1, Row] = ''];
    Refresh;
  end;
end;

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
const
  CCOLORS: array[Boolean] of TColor = (clWindow, clRed);
begin
  with TStringGrid(Sender) do
  begin
    Canvas.Pen.Color   := clBlack;
    Canvas.Brush.Color := CCOLORS[Cells[ColCount-1, ARow] = 'x'];
    Canvas.FillRect(Rect);
    Canvas.TextOut(Rect.Left+1, Rect.Top+1, Cells[ACol,ARow]);
  end;
end;
Salida:



Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
StringGrid, cambiar color celda jose.ignacio.ve OOP 4 13-06-2013 22:48:46
Centrar los datos en un StringGrid y colocar color a las celdas CarlosAlberto Varios 3 31-01-2013 13:37:16
Color de las lineas de las celdas de un StringGrid richi OOP 4 23-08-2006 19:26:56
color en celda StringGrid ermitano OOP 2 17-06-2004 22:17:53
TDBCheckBox aparece en estado intermedio marcado y no marcado. setry2 OOP 4 09-05-2003 05:55:57


La franja horaria es GMT +2. Ahora son las 13:57:27.


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