I think the correct way to do it is following:
-You write the procedure to catch Del keypress (there is
OnKeyPress method of the
WorkSheetGrid).
On the first keypress you remember the selected cells and increase the counter to 1 (some global variable).
-On the second click you check if it's the same cells and check the counter. If it's not the same cells you change the counter to 1 and change recorded range to current. If it's the same cell you delete worksheetgrid contents and change counter value to 0.
Unfortunately I'm not sure how to find out what cells are selected now. For one cell you can use
TsCellIndicator but for many I'm not sure. If
WorkSheetGrid is similar to
TStringGrid then you can record for cells in for corners of the selection. Try looking here:
https://stackoverflow.com/questions/12807687/sum-value-of-selected-cells-in-stringgrid