Как получить ячейку объекта типа TStringGrid в виде TRect?

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
maxvell
незнакомец
Сообщения: 9
Зарегистрирован: 20.05.2012 15:37:42

Как получить ячейку объекта типа TStringGrid в виде TRect?

Сообщение maxvell »

событие onDrowCell объекта типа TstringGrid связывается с процедурой вида:

Код: Выделить всё

procedure Tform1.onDrawCell(Sender: TObject; aCol,
  aRow: Integer; aRect: TRect; aState: TGridDrawState);

Значит, этот объект как-то может определить ячейку ( cell[aCol, aRow]) как объект типа TRect или хотя бы получить представление.
Мне нужно вызвать эту функцию из другой процедуры, значит мне нужно получить этот параметр. Есть ли у TStringGrid что-нибудь для таких целей, или нужно вычислять всё самостоятельно?
Ism
энтузиаст
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Сообщение Ism »

StringGrid1.Columns[1].Grid.CellRect(1,1) ?
maxvell
незнакомец
Сообщения: 9
Зарегистрирован: 20.05.2012 15:37:42

Сообщение maxvell »

Ism, это работает, если в объекте типа TStringGrid используются объекты типа columns, а если используются просто ячейки, то такая конструкция выдаёт выход за границу списка, ибо колонны не используются..
sign
энтузиаст
Сообщения: 1131
Зарегистрирован: 30.08.2009 09:20:53

Сообщение sign »

maxvell писал(а):ибо колонны не используются..

Это как?
Как можно задать ячейку без колонки в гриде?!!!
svk12
постоялец
Сообщения: 411
Зарегистрирован: 09.06.2008 18:42:47

Сообщение svk12 »

Функция не связана с колонками.

Код: Выделить всё

function TCustomGrid.CellRect(ACol, ARow: Integer): TRect;
maxvell
незнакомец
Сообщения: 9
Зарегистрирован: 20.05.2012 15:37:42

Сообщение maxvell »

svk12, Спасибо, так работает)
Ответить