Q&A

  • 스트링그리드에서 셀의 길이를 마음대로 조정할수 있나요?
ListView 컴포넌트는 제목셀과 셀의 중간에 | 표시에 더블클릭하면 셀안의 내용에 맞춰 셀의 길이가 늘려지는데 스트링그리드에서는 어떻게 구현 해야 하나요?

1  COMMENTS
  • Profile
    잘난체 2001.10.12 19:08


    이것의 Sample예가 김영대씨 TXTLoder라는 ASV화일을 DB로 올리는 프로그램이

    있는데..(김영대 자료실 3번째 excel 이란 검색어를 이용하세요...)



    그 소스안에... 스트링그리드에서 길이을 조절하는 함수를 구현했습니다..



    procedure TMainForm.AutoSizeGridColumn(Grid: TStringGrid;

    column: integer);

    var

    i : integer;

    temp : integer;

    max : integer;

    begin

    max := 0;

    for i := 0 to (Grid.RowCount-1) do

    begin

    // Grid Canvas를 기준으로한 지정한 Column의 각 row의 width중

    // 최대값을 구하여 column의 width로 결정한다

    temp := Grid.Canvas.TextWidth(Grid.Cells[column, i]);

    if temp > max then

    max := temp;

    end;

    Grid.ColWidths[column] := max + Grid.GridLineWidth + 3;

    end;



    그런데.. 잘안되는 것같아요..( 조금 수정해야 할것이예요.. 보기 좋으려면)