В этом уроке я хочу показать вам процедуру автоматически подгоняющую размер
колонки в компоненте TStringGrid, под написанный там текст.
Поехали..!
Запускаме Delphi и после ключевого слова public пишем
procedure AutoSizeGridColumn(Grid : TStringGrid; column : integer);
Далее жмем уже полюбившуюся комбинацию клавиш CTRL+SHIFT+C, Delphi генерирует
шаблон процедуры. А вот как должна выглядеть эта процедура полностью, посмотрите
ниже и допишите то чего хватает.
procedure AutoSizeGridColumn(Grid : TStringGrid; column : integer);
var
i : integer;
temp : integer;
max : integer;
begin
max := 0;
for i := 0 to (Grid.RowCount - 1) do begin
temp := Grid.Canvas.TextWidth(grid.cells[column, i]);
if temp > max then max := temp;
end;
Grid.ColWidths[column] := Max + Grid.GridLineWidth + 3;
end;
Теперь нам осталось кинуть на форму кнопку (button) и сам компонент
StringGrid.
Сделали ... ?! Надеюсь что да !
Создаем обработчик событий на кнопке и в нем прописываем:
AutoSizeGridColumn(StringGrid1, 1);
Вот и все, компилируем и запускаем.
|