Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > C++ Builder
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-08-2011
chinchan chinchan is offline
Miembro
 
Registrado: abr 2006
Posts: 109
Poder: 19
chinchan Va por buen camino
Celdas seleccionadas en un DrawGrid

Hola a todos. Tras muchos intentos y mirar por ahí, no logro saber cuantas filas (o celdas) tengo selecionadas en un DrawGrid. Le he puesto en Options activado el goRangeSelect, y al seleccionar unas celdas de una columna, ¿cómo puedo saber cuantas he seleccionado y cuales?. Muchas Gracias.
Responder Con Cita
  #2  
Antiguo 25-08-2011
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 chinchan Ver Mensaje
Hola a todos. Tras muchos intentos y mirar por ahí, no logro saber cuantas filas (o celdas) tengo selecionadas en un DrawGrid. Le he puesto en Options activado el goRangeSelect, y al seleccionar unas celdas de una columna, ¿cómo puedo saber cuantas he seleccionado y cuales?. Muchas Gracias.
Hola chinchan.

Vas a tener que valerte de la propiedad Selection del TDrawGrid

Ejemplo:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TGridRect GR = DrawGrid1->Selection;
  TVarRec vr[] = {GR.Left,GR.Top,GR.Right,GR.Bottom};
  ShowMessage(Format("Col_Ini:%d \nFil_Ini:%d \nCol_Fin:%d \nFil_Fin:%d",vr,4));
}
Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 25-08-2011
chinchan chinchan is offline
Miembro
 
Registrado: abr 2006
Posts: 109
Poder: 19
chinchan Va por buen camino
Muchas Gracias. Funcionaaaaa. La verdad que no entiendo muy bien lo que quiere decir el código, pero me vale. De nuevo Gracias.
Responder Con Cita
  #4  
Antiguo 25-08-2011
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:
La verdad que no entiendo muy bien lo que quiere decir el código
Hola chinchan.

El tema no es complicado, la propiedad Selection te devuelve un struct (TGridRect) con los límites de la selección actual.
Es decir que el código anterior sin mostrar los valores queda reducido a:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  TGridRect GR = DrawGrid1->Selection;
}
Donde:
  • GR.Left = Columna inicial de la selección
  • GR.Top = Fila inicial de la selección
  • GR.Right = Columna final de la selección
  • GR.Bottom = Fila final de la selección

Un saludo.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 25-08-2011 a las 17:01:45.
Responder Con Cita
  #5  
Antiguo 25-08-2011
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 de nuevo.

Por si te clarifica el funcionamiento, te pongo un código que usa un TStringGrid para simplificar (aunque el manejo es el mismo).

Agregá un StringGrid y un ListBox a un form.

Ejemplo:
Código:
/* Llenar el StringGrid con valores */
void __fastcall TForm1::FormShow(TObject *Sender)
{
 for(int f=0; f < StringGrid1->RowCount; f++)
   for(int c=0; c < StringGrid1->ColCount; c++)
     StringGrid1->Cells[f][c]= IntToStr(f+c);
}

/* 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);
  }
}
Notarás que para recorrer la selección, obtuve la fila inicial y final de GR.Top / GR.Bottom y las columnas inicial y final de GR.Left / GR.Right.

Un saludo.
__________________
Daniel Didriksen

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

Última edición por ecfisa fecha: 25-08-2011 a las 17:18:14.
Responder Con Cita
  #6  
Antiguo 02-09-2011
chinchan chinchan is offline
Miembro
 
Registrado: abr 2006
Posts: 109
Poder: 19
chinchan Va por buen camino
Muchas Gracias por tu aclaración. Gracias a ello lo he podido adaptar perfectamente a mi programa. Gracias de nuevo. Una cosa mas... ¿cómo puedo cambiar el color de fondo (background) de las celdas seleccionadas del DrawGrid?. El azul que sale por defecto coincide prácticamente con el color de fuente que utilizo.
Responder Con Cita
  #7  
Antiguo 02-09-2011
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.057
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por chinchan Ver Mensaje
Muchas Gracias por tu aclaración. Gracias a ello lo he podido adaptar perfectamente a mi programa. Gracias de nuevo. Una cosa mas... ¿cómo puedo cambiar el color de fondo (background) de las celdas seleccionadas del DrawGrid?. El azul que sale por defecto coincide prácticamente con el color de fuente que utilizo.
Pregunta nueva... en hilo nuevo.
Recuerda nuestra guía de estilo, gracias.
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
leer celdas de un DrawGrid byfali Varios 2 15-02-2009 22:37:31
Varias celdas seleccionadas en un DrawGrid eljose OOP 0 24-09-2007 19:33:47
Uso de drawgrid drykea Varios 2 16-08-2007 15:58:30
Guardar filas seleccionadas en un DbGrid Nbull Conexión con bases de datos 4 12-12-2005 18:26:19
Imprimir columnas seleccionadas de un DBGrid jdangosto Impresión 1 07-10-2004 12:20:12


La franja horaria es GMT +2. Ahora son las 22:30:27.


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