|
새해 복 많이 받으세요~
우선 답변 주셔서 감사드립니다. (__)
설 연휴 기간 동안에 제가 올렸던 델파이 소스 여기 저기 뒤지면서 C++ 빌더 소스로 고쳐서 해 봤는데
계속 1줄로 나오더라고요.
박지훈 님이 올려주신 걸로 고쳐도 계속 한 줄로 나오네요. ㅠㅠ
void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol, int ARow,
TRect &Rect, TGridDrawState State)
{
StringGrid1->Canvas->FillRect(Rect);
DrawText(StringGrid1->Canvas->Handle, StringGrid1->Cells[ACol][ARow].c_str(),
StringGrid1->Cells[ACol][ARow].Length(), &Rect, DT_NOPREFIX|DT_WORDBREAK|DT_LEFT);
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
StringGrid1->Cells[0][1] = "abcdefghijklmnopqrstuvwxyz";
StringGrid1->Cells[0][2] = "abcdefghijklmnopqrstuvwxyz";
}
이런 식으로 버튼 누르면 StringGrid1의 셀에 텍스트가 추가 되게 테스트 해 봤는데요.
계속 한 줄로 나오네요.
참고로
StringGrid1는 FixedCols=0, FixedRows=0, ColCoun=1, DefaultColWidth=64입니다.
박지훈.임프 님이 쓰신 글 :
: 다음과 같이 해주면 됩니다.
:
: void __fastcall TForm1::StringGrid1DrawCell(TObject *Sender, int ACol,
: int ARow, TRect &Rect, TGridDrawState State)
: {
: StringGrid1->Canvas->FillRect(Rect);
: DrawText(StringGrid1->Canvas->Handle, StringGrid1->Cells[ACol][ARow].c_str(),
: StringGrid1->Cells[ACol][ARow].Length(), &Rect, DT_NOPREFIX|DT_NOPREFIX);
: }
:
: 두번째 줄의 길이가 길어서 나뉘어져보일 텐데, 전체 두줄입니다.
:
: 위에 델파이 소스를 변환해달라고 하신 분도 같은 분이시죠?
: 인용하신 소스는 라인 일부가 빠져있고요.
: 또 마지막 줄에 로우의 높이를 강제로 조절하는 부분이 있던데, 그건 의도하시지 않은 결과일 거 같아서 빼버렸습니다.
:
: 그럼...
:
:
: 빌초보 님이 쓰신 글 :
: : Cell의 Width를 넘어가는 긴 문자열을 출력할 때 잘려서 출력 되는데요.
: :
: : 자동으로 여러 줄로 출력해 주려면 어떻게 해야 하나요?
|