Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-06-2015
xdelph xdelph is offline
Registrado
NULL
 
Registrado: jun 2015
Posts: 5
Poder: 0
xdelph Va por buen camino
Color/Marcado stringGrid

Hola tengo una stringGrid y un botón de marcar. Al estar sobre esa fila seleccionada y darle al botón, esta fila debe cambiar a rojo. Alguna idea?
Responder Con Cita
  #2  
Antiguo 11-06-2015
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
Hola.

Si haces una búsqueda por "color stringgrid" te saldrán muchos hilos al respecto, uno que te puede servir es este.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #3  
Antiguo 11-06-2015
xdelph xdelph is offline
Registrado
NULL
 
Registrado: jun 2015
Posts: 5
Poder: 0
xdelph Va por buen camino
En todos veo el método DrawCell, pero lo que yo necesito es que al clickar el botón de marcar se marque la fila seleccionada
Responder Con Cita
  #4  
Antiguo 11-06-2015
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por xdelph Ver Mensaje
En todos veo el método DrawCell, pero lo que yo necesito es que al clickar el botón de marcar se marque la fila seleccionada
Exactamente, así es.
Responder Con Cita
  #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: 36
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
Respuesta



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 01:03:23.


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
Copyright 1996-2007 Club Delphi