Увеличение высоты StringGrid

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

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

Ответить
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Увеличение высоты StringGrid

Сообщение Padre_Mortius »

Пытаюсь добавить функционал переноса строк в TStringGrid. Функционал добавлен и работает, но не могу понять как увеличить высоту ячейки. Отрисовка текста происходит в TCustomGrid.DrawCellText, а границы самой ячейки в TCustomGrid.DrawCell. Вызов DrawCellText происходит только в TCustomStringGrid. Есть ли у кого мысли по данному поводу?

P.S. Функционал достаточно востребованный и очень хотелось бы его видеть в стандартном компоненте.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Аватара пользователя
GAMER
энтузиаст
Сообщения: 627
Зарегистрирован: 06.08.2008 13:41:07
Откуда: Ужгород-Днепр, Украина
Контактная информация:

Сообщение GAMER »

Если я правильно понял, то такое делается на форме типа такого:

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

StringGrid5.RowHeights[9]:=...;


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

procedure TFrmPhase050.StringGrid5DrawCell(Sender: TObject; aCol,
  aRow: Integer; aRect: TRect; aState: TGridDrawState);
begin
 if (aCol=1) and (aRow=9) then
  begin
    (Sender as TStringGrid).Canvas.FillRect(aRect);
    (Sender as TStringGrid).Canvas.TextOut(aRect.Left+3, aRect.Top + 2, 'text1 text1 text1,');
    (Sender as TStringGrid).Canvas.TextOut(aRect.Left+3, aRect.Top + (Sender as TStringGrid).Font.Size + 9, 'text2 text2 text2');
  end;
end;     
Padre_Mortius
энтузиаст
Сообщения: 1265
Зарегистрирован: 29.05.2007 17:38:07
Откуда: Спб

Сообщение Padre_Mortius »

GAMER, в случае переопределения DrawCell в своем проекте да. Но в случае с добавлением функционала в компонент TStringGrid переопределить не получается (во всяком случае я не могу понять где это стоит сделать)
Ответить