PDA

Ver la Versión Completa : Seleccionar todos los campos de un TStringGrid


odomalo
07-03-2007, 17:27:05
Hola, estoy haciendo un programa y en el utilizo un TStringGrid, y quiero que al pulsar un boton se seleccionen todos los campos, por ejemplo para borrarlos todos a la vez. Como se puede hacer eso? De la misma forma me interesa tambien deseleccionarlos todos. He estado buscando como hacerlo pero no encuentro nada. Se que con el raton se puede hacer, pero lo que quiero es por codigo, desde un boton. Muchas gracias..Porc ierto, muy bueno el foro, llevo mucho tiempo leyendolo (aunqeu registrado poco) y me es de gran ayuda.

roman
07-03-2007, 20:25:22
(* Seleccionar todas las celdas *)
var
Rect: TGridRect;

begin
Rect.Left := StringGrid1.FixedCols;
Rect.Top := StringGrid1.FixedRows;
Rect.Right := StringGrid1.ColCount - 1;
Rect.Bottom := StringGrid1.RowCount - 1;

StringGrid1.Selection := Rect;
end;

(* Deseleccionar todas las celdas *)
var
Rect: TGridRect;

begin
Rect.Left := StringGrid1.FixedCols;
Rect.Top := StringGrid1.FixedRows;
Rect.Right := StringGrid1.FixedCols;
Rect.Bottom := StringGrid1.FixedRows;

StringGrid1.Selection := Rect;
end;


La deselección en realidad lo que hace es reducir la selección a la primera celda. No estoy seguro de que se pueda quitar totalmente la selección.

En resumen, StringGrid1.Selection es un "rectángulo" con el que especificas las coordenadas de las celdas de la esquina superior izquierda e inferior derecha de la selección.

// Saludos