Código
//Ricardo
//25/02/2010
var
i : integer;
j : integer;
x : array of integer;
begin
// Vetor x com o total de colunas da grade
SetLength(x, aGrade.ColCount);
// Zero todas as posições do vetor x
for i:= 0 to aGrade.ColCount -1 do
x[i]:= 0;
// Varrendo todas as linhas da Grade
for i:= 0 to aGrade.RowCount-1 do
begin
// Varrendo todas as Colunas da grade
for j:= 0 to aGrade.ColCount -1 do
begin
// Verificando se a coluna na posição j é maior que o vetor x na posição j
// se for maior guardo o valor da coluna na posição j no vetor x na posição j
if aGrade.Canvas.TextWidth(aGrade.Cells[j,i]) > x[j] then
x[j]:= aGrade.Canvas.TextWidth(aGrade.Cells[j,i]);
end;
end;
// Verifico se a posição i do Vetor x é igual a 0
// se o vetor x na posição i for igual a 0
// estou tribuindo 89 para o vetor x na posição i
for i:= 0 to aGrade.ColCount -1 do
begin
if x[i] = 0 then
x[i]:= 89;
end;
// Varrendo todas as Colunas da Grade
// e Atribuindo o valor do vetor x na posição j
// para a propiedade colWidths da coluna na posição j
// com o valor do vetor x na posição j
for i:= 0 to aGrade.RowCount-1 do
begin
for j:= 0 to aGrade.ColCount -1 do
aGrade.ColWidths[j]:= x[j] + 5;
end;
end;
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009