procedure TWndMain.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var rRect : TGridRect; begin if Shift = [ssRight] then begin rRect.Left := 1; rRect.Top := StringGrid1.MouseCoord(X,Y).Y; rRect.Right := StringGrid1.ColCount - 1; rRect.Bottom := StringGrid1.MouseCoord(X,Y).Y; StringGrid1.Selection := rRect; end; end;