Q&A

  • StringGrid에서 두줄로 쓰려면
StringGrid에서

한셀에 두줄로 쓸려면 어떻게 해야 되나요?

아래에 어떤분이 셀을 Fixed하구 Ondraw이벤트에서

선을 그려넣는다구... 막 설명을 해 놨는데

무슨말인지 잘 모르겠네요.

아시는분은 쉽게 설명좀 해주세여

그럼 ^..^

1  COMMENTS
  • Profile
    지영일 2001.04.07 19:01
    지니 wrote:

    > StringGrid에서

    > 한셀에 두줄로 쓸려면 어떻게 해야 되나요?

    > 아래에 어떤분이 셀을 Fixed하구 Ondraw이벤트에서

    > 선을 그려넣는다구... 막 설명을 해 놨는데

    > 무슨말인지 잘 모르겠네요.

    > 아시는분은 쉽게 설명좀 해주세여

    > 그럼 ^..^





    허일학 님의 xproject에서 인용....

    Cell에서 Cellwidth 맞게끔 두줄로 바뀔겁니다.

    한번 해보세요..

    도움이 되었으면 좋겠네요...



    procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer;

    Rect: TRect; State: TGridDrawState);

    begin

    if (ACol = 1) or (ACol = 2) then

    begin

    StringGrid1.Canvas.Font := StringGrid1.Font; // 지정하지 않으면 System 폰트가 되고...



    Rect.Left := Rect.Left+1;

    Rect.Top := Rect.Top+1;

    DrawText(StringGrid1.Canvas.Handle,

    PChar(StringGrid1.Cells[ACol,ARow]), // 출력할 문자열

    -1, // 문자열의 길이(-1로 지정하면 자동 계산)

    Rect,

    DT_WORDBREAK);

    end

    else

    begin

    StringGrid1.Canvas.FillRect(Rect);

    StringGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top+2, StringGrid1.Cells[ACol, ARow]);

    end;

    end;