Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 23-10-2003
gario gario is offline
Miembro
 
Registrado: oct 2003
Ubicación: Gijon
Posts: 34
Poder: 0
gario Va por buen camino
Colorear lineas en StringGrid

Hola a tod@s:

Ya he visto varios mensajes sobre como colorear un string grid, pero no acabo de consguir lo que quiero.

Tengo un string grid y quiero que cuando pulse un boton del formulario, se coloreen ciertas lineas del stringgrid.
No puedo usar un dbgrid por las condiciones del programa.

Ademas de eso me vendria bien un codigo para que al hacer doble clik sobre una celda poder recuperar en el evento ondouble click la celda sobre la que se hizo... he probado con mouse to cell y mouse coord pero no acabo de tener un metodo fiable.
Responder Con Cita
  #2  
Antiguo 23-10-2003
Viet Viet is offline
Miembro
 
Registrado: jul 2003
Ubicación: Argentina - Mar del Plata
Posts: 252
Poder: 21
Viet Va por buen camino
Buenas

Aqui tienes como colorear una celda determinada.... no obstante en el mismo metodo, puedes colorear toda una fila si dentro del evento haces un control sobre la columna que decide tu caso.

por ejemplo

Código:
 If  Grid.cells[5, row]=1 then 
                ....cambio el color de la celda...
aqui si la celda de la columna 6 (5+1) es 1 entonces pintara la celda... esto lo va a hacer con todas las celdas de la fila


con respecto al doble click no te sirve OnDblClick ???

Suerte
__________________
Marín Ignacio Borthiry (Viet) - "El hombre arriesga su vida cada vez que elije y eso es lo que lo hace libre" ;)
Responder Con Cita
  #3  
Antiguo 23-10-2003
gario gario is offline
Miembro
 
Registrado: oct 2003
Ubicación: Gijon
Posts: 34
Poder: 0
gario Va por buen camino
ya.. lo que queria es el codigo para colorear la celda... es que no que que canvas hay por ahi que me despista mogollon..

Efectivamente me vale el doble clik pero en ese evento necesito recuperar la celda sobre la que se hizo el doble click para editarla... iva a provar con la propiedad selected... pero no se si al hacer doble click sobre una celda esa queda editada.

Muchas gracias
Responder Con Cita
  #4  
Antiguo 30-05-2005
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
Question colorear líneas en string grid

se puede colorear una fila en un stringrid?
todavía sigo buscando la respuesta a esta pregunta...
si alguien la tiene se los agradecería mucho

para obtener el valor de una celda

var Valor: String;
....

//valor de la celda seleccionada actualmente en el string grid
Valor:=stringrid.cells[stringrid.col,stringrid.row];
......

Encontre lo que buscaba, coloco la respuesta por si existe algún interesado:
Código Delphi [-]
 
procedure TFrmInicial.stgActRecomDrawCell(Sender: TObject; ACol,
ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
inherited;
With Sender as TStringGrid do begin
try
    if StrToFloat(cells[ACol, ARow]) >= 95 then
        begin
         //for BackGround Color
         Canvas.Brush.Color := clRed;
         Canvas.FillRect(Rect);
         //for Font.Color
         Canvas.Font.Color := clWhite;
         Canvas.TextRect( Rect, Rect.Left+2, Rect.Top+2, Cells[acol, arow]);
        end
        else if (StrToFloat(cells[ACol, ARow]) >= 80) then
        begin
         //for BackGround Color
         Canvas.Brush.Color := clYellow;
         Canvas.FillRect(Rect);
         //for Font.Color
         Canvas.Font.Color := clBlack;
         Canvas.TextRect( Rect, Rect.Left+2, Rect.Top+2, Cells[acol, arow]);
        end 
    except on e:exception do exit; end;
end; //Fin with
end;

Este código funciono perfecto con lo que yo necesito, espero que al menos los coloque en el camino correcto si algún día lo requieren...

Última edición por ContraVeneno fecha: 22-06-2005 a las 17:18:25. Razón: respuesta
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


La franja horaria es GMT +2. Ahora son las 02:18:10.


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