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 11-06-2013
Alejandro73 Alejandro73 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Valparaiso - CHILE
Posts: 132
Poder: 19
Alejandro73 Va por buen camino
Obtener celdas seleccionadas de un StringGrid

Estimados

Buenos días, tengo un TbsSkinStringGrid el cual se dibuja en tiempo de ejecución en base a una consulta (es similiar a un StringGrid), luego puedo seleccionar un o mas celdas cambiando el color de fondo y el texto de las mismas; ¿como puedo saber cuales son las celdas seleccionadas por el usuario?

Saludos
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara .......
Responder Con Cita
  #2  
Antiguo 11-06-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Mira los enlaces del final de esta página, abajo del todo, seguramente te sirven
Responder Con Cita
  #3  
Antiguo 11-06-2013
Alejandro73 Alejandro73 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Valparaiso - CHILE
Posts: 132
Poder: 19
Alejandro73 Va por buen camino
Gracias

Ya revise este codigo

/* Mostrar selección en ListBox */ void __fastcall TForm1::Button1Click(TObject *Sender) { TGridRect GR = StringGrid1->Selection; AnsiString s; for(int f=GR.Top; f <= GR.Bottom; f++){ s= ""; for(int c=GR.Left; c <= GR.Right; c++) s = s + StringGrid1->Cells[f][c]; ListBox1->Items->Add(s); } }

pero no me queda claro como lo recorre con el for ya que marca error en "f=Gr.Top"

adjunto codigo del boton
Código Delphi [-]
  Grid : TbsSkinStringGrid;
  Gr   : TGridRect;
begin

  Gr := Grid.Selection;
  for(int f=GR.Top; f <= GR.Bottom; f++)
   begin
    s= "";
    for(int c=GR.Left; c <= GR.Right; c++)
     begin
      s = s + StringGrid1->Cells[f][c];
      ShowMessage(s);
     end;
   end;
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara .......
Responder Con Cita
  #4  
Antiguo 11-06-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Pero ese qué lenguaje es delphic o cdelphi ?
Responder Con Cita
  #5  
Antiguo 11-06-2013
Alejandro73 Alejandro73 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Valparaiso - CHILE
Posts: 132
Poder: 19
Alejandro73 Va por buen camino
Estimado

El lenguaje es Delphi.
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara .......
Responder Con Cita
  #6  
Antiguo 11-06-2013
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.044
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y ese código que has puesto te compila?
Responder Con Cita
  #7  
Antiguo 11-06-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 21
ozsWizzard Va por buen camino
El código, a lo sumo, es compilable desde Rad Studio pero Delphi, lo que se dice Delphi, va a ser que no.
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
  #8  
Antiguo 11-06-2013
Alejandro73 Alejandro73 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Valparaiso - CHILE
Posts: 132
Poder: 19
Alejandro73 Va por buen camino
No, no compila, pero puse este otro codigo

Código Delphi [-]
Grid : TbsSkinStringGrid;   
Gr   : TGridRect; 
begin    
  Gr       := Grid.Selection;   
  gr_left  := Gr.Left;   
  gr_top   := Gr.Top;   
  gr_right := Gr.Right;   
  gr_bottom:= Gr.Bottom;     
  ShowMessage('Seleccion '+IntToStr(gr_left)+','+IntToStr(gr_top)+' a la '+IntToStr(gr_right)+','+IntToStr(gr_bottom));

pero los valores no me cuadran, yo esperaba 3,2 a la 3,3 que serian las celdas seleccionadas
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara .......

Última edición por Casimiro Notevi fecha: 11-06-2013 a las 18:40:25.
Responder Con Cita
  #9  
Antiguo 11-06-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 21
ozsWizzard Va por buen camino
Ese "Selecction" del grid parece que no sea para sacar la columna y la fila seleccionada sino la región que se quiere colorear.
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
  #10  
Antiguo 11-06-2013
Alejandro73 Alejandro73 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Valparaiso - CHILE
Posts: 132
Poder: 19
Alejandro73 Va por buen camino
Efectivamente muestra la región que se dibujo.

Lo que necesito es obtener el nro de Columna y Fila de la región que se coloreo, que puede perfectamente ser mas de una celda.
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara .......
Responder Con Cita
  #11  
Antiguo 11-06-2013
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
Cita:
Empezado por Alejandro73 Ver Mensaje
Estimados
...
¿como puedo saber cuales son las celdas seleccionadas por el usuario?
Hola Alejandro.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  with StringGrid1.Selection do
    ShowMessage(Format('Desde, col: %d row: %d',[Left,Top])+#10+
                Format('Hasta, col: %d row: %d',[Right,Bottom]));
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #12  
Antiguo 12-06-2013
Alejandro73 Alejandro73 is offline
Miembro
 
Registrado: abr 2006
Ubicación: Valparaiso - CHILE
Posts: 132
Poder: 19
Alejandro73 Va por buen camino
Thumbs up

Estimado

Una vez mas se agracede su aporte, funciona perfectamente.

Saludos
Alejandro A.
__________________
Los muertos en CRISTO de sus tumbas volveran y los que vivimos en las nubes nos levantara .......
Responder Con Cita
  #13  
Antiguo 12-06-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 21
ozsWizzard Va por buen camino
O no lo entiendo o no soy capaz de ver que es lo que pasa.

¿Qué diferencia conceptual hay entre el código que puso ecfisa y el que puso Alejandro73?

En ambos usa las mismas propiedades para los mismo valores, ¿no?
__________________
La Madurez se llama...
~~~Gaia~~~
Responder Con Cita
  #14  
Antiguo 12-06-2013
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
Cita:
Empezado por ozsWizzard Ver Mensaje
O no lo entiendo o no soy capaz de ver que es lo que pasa.

¿Qué diferencia conceptual hay entre el código que puso ecfisa y el que puso Alejandro73?

En ambos usa las mismas propiedades para los mismo valores, ¿no?
Hola ozsWizzard.

No había visto el mensaje #8 hasta ahora que lo mencionas (o tal vez no le presté la debida atención) ...

Pero si las variables gr_left, gr_top, gr_right y gr_bottom están declaradas como Integer, conceptualmente ninguna.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #15  
Antiguo 13-06-2013
Avatar de ozsWizzard
ozsWizzard ozsWizzard is offline
Miembro
 
Registrado: may 2004
Ubicación: Murcia
Posts: 190
Poder: 21
ozsWizzard Va por buen camino
Ah, vale, entonces no le daba el resultado correcto por cualquier otro motivo, jeje

Estaba yo asustao, jajajaja
__________________
La Madurez se llama...
~~~Gaia~~~
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
Cambiar el color de las celdas seleccionadas de un DrawGrid chinchan C++ Builder 3 18-09-2011 01:24:20
Celdas seleccionadas en un DrawGrid chinchan C++ Builder 6 02-09-2011 02:49:33
Marcar Celdas en StringGrid ramonibk Gráficos 5 30-08-2011 13:34:26
Varias celdas seleccionadas en un DrawGrid eljose OOP 0 24-09-2007 19:33:47
StringGrid + celdas Makiley Varios 4 01-02-2006 13:01:15


La franja horaria es GMT +2. Ahora son las 19:00:44.


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