Хотя здесь много людей с лучшими способностями, так как вы не получили ответов, я решил попробовать.
Я не знаю, как заставить компонент сделать это за вас. Однако, когда вы щелкаете Control-ячейку, вызывается событие OnSelectedCell. (Я только что проверил это.) Вы можете поместить код в обработчик событий, который добавляет строку и столбец ячейки в список, который вы сохраняете из выбранных строк и столбцов. Затем в событии OnDrawCell выделите ячейку:
procedure TForm1.StringGrid1DrawCell( Sender: TObject;
ACol: Integer;
ARow: Integer;
Rect: TRect;
State: TGridDrawState);
begin
if CellSelected( ARow, ACol) then // you write CellSelected() to refer to the list you're keeping
begin
StringGrid1.Canvas.Brush.Color := clYellow;
StringGrid1.Canvas.FillRect(Rect);
StringGrid1.Canvas.TextOut(Rect.Left,Rect.Top,StringGrid1.Cells[ACol,ARow]);
end;
end;