![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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.
|
#2
|
||||
|
||||
Cita:
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)); }
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#3
|
|||
|
|||
Muchas Gracias. Funcionaaaaa. La verdad que no entiendo muy bien lo que quiere decir el código, pero me vale. De nuevo Gracias.
|
#4
|
||||
|
||||
Cita:
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; }
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. |
#5
|
||||
|
||||
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); } } 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. |
#6
|
|||
|
|||
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.
|
#7
|
||||
|
||||
Cita:
Recuerda nuestra guía de estilo, gracias.
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
![]() |
|
|
![]() |
||||
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 |
![]() |
|