Проверяем на нажатие:
	Код:
	procedure TForm1.StringGrid2MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: LongInt);
begin
  try
    if (X >= StringGrid1.Selection.Left) and (X <= StringGrid1.Selection.Right) and
      (Y >= StringGrid1.Selection.Top) and (Y <= StringGrid1.Selection.Bottom) then
      //можно записать в эту ячейку символ, ну или по желанию. Ты сам придумаешь че туда записать ;)
  except
  end;
end; 
 
Допустим нажали...
Разрисовываем ячейку в которой, например находятся буквы "ЗЮ"
	Код:
	procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState);
begin
  if (ACol > 'ЗЮ') and (ARow > 'ЗЮ') then  begin     //в этой строке мог ошибиться!
    StringGrid1.Canvas.Brush.color := clblack;
    
//Закрашиваем бэкграунд ячейки
    StringGrid1.Canvas.FillRect(Rect);
//Если надо, то рисуем что-то на ней, например текс, который находится в ячейке.
    StringGrid1.Canvas.TextOut(Rect.Left, Rect.Top, StringGrid1.Cells[ACol, ARow]);
  end;
end;
 
 
Только переделай на DrawGrid