Código Delphi
[-]
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;
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