скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Увеличение ячейки TStringGrid при увеличении числа строк



Автор: Пётр Соболь

procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow:
  Integer; Rect: TRect; State: TGridDrawState);
var
  Format: Word;
  C: array[0..255] of Char;
  r: integer;
begin
  C := '';
  Format := DT_LEFT or DT_WORDBREAK;
  (Sender as TStringGrid).Canvas.FillRect(Rect);
  StrPCopy(C, (Sender as TStringGrid).Cells[ACol, ARow]);
  if c <> '' then //если есть значения
  begin
    r := WinProcs.DrawText((Sender as TStringGrid).Canvas.Handle, C,
      StrLen(C), Rect, Format);
    if r > (Sender as TStringGrid).RowHeights[Arow] then
      //если высота колонки меньше
      (Sender as TStringGrid).RowHeights[Arow] := r;
  end;
end;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook