Buscar

Configurar StringGrid com o tamanho do maior texto de uma detetminada coluna

Código

procedure utConfiguraGrade(aGrade : TStringGrid);
//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;

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Object pascal
Adicionada dia: 11/08/10
Por: Ricardo Silva Pereira
Visualizada: 8151 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009