Показать сообщение отдельно
  #3  
Старый 09.01.2008, 22:31
~ SaM ~ ~ SaM ~ вне форума
Начинающий
 
Регистрация: 05.01.2007
Адрес: Днепропетровск
Сообщения: 141
Репутация: 25
По умолчанию

Проверяем на нажатие:

Код:
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
Ответить с цитированием