title: Detecting single vs multiple selections in Delphi TStringGrid
body: <p>This is a follow up to my previous question  <a href="https://stackoverflow.com/questions/5950918">Delphi TStringGrid multi select, determining selected rows</a> regarding Delphi String Grids.  It's a different question.</p>
  
  <p>I was looking more closely at the ONSelectCell Event
  TSelectCellEvent = procedure (Sender: TObject; ACol, ARow: Longint; var CanSelect: Boolean) of object;</p>
  
  <p>I noticed that the TStringGrid.Selection.Top,Bottom properties are not necessarily accurate (within the event itself).  Basically, if someone goes from selecting multiple rows to just one row, the selection.* properties do not get updated, whereas if one selects multiple rows, they do.  </p>
  
  <p>The ARow parameter does get updated regardless of whether one or more rows are selected, but this will only help me if I can determine that one and only one row was selected.  </p>
  
  <p>Eg, If it's just one row that was selected, then use Arow parameter, if more than one row then use Selection.* properties to determine which row(s) are currently selected.</p>
  
  <p>There must be an easier way.... </p>
  
  <p>Thank you!</p>