kylix 님이 쓰신 글 :
: ListView의 Client영역구한뒤에 마지막을 제외한 나머지 컬럼들의 width를 빼주시면 마지막 컬럼의 크기가 되겠죠.
:
: var
: W, I: Integer;
: begin
: W := ListView1.ClientWidth;
: for I := 0 to ListView1.Columns.Count - 2 do
: Dec(W, ListView1.Columns[I].Width);
: ListView1.Columns[ListView1.Columns.Count - 1].Width := W;
: end;
:
: MarunGuy 님이 쓰신 글 :
: : 안녕하세요.
: : TListView 를 vsReport 스타일로 설정했습니다.
: :
: : 첨부된 이미지처럼 TListVIew 의 폭이 변하더라도 마지막 컬럼의 끝을
: : TListView 영역의 오른쪽끝으로 설정되게 하려면 어떻게 해야하나요?
: :
: : TListVIew 의 OnResize 이벤트에서 어떻게 처리하면 될것 같은데..
: : 막상 해보려니 어떻게 해야 될지 모르겠네요. TT_TT;;;
: :
: : 그럼.
for 문 돌려서 칼럼 너비 계산할 필요 없이, 더 간단하게 처리할 수 있습니다.
void __fastcall TForm1::ListView1Resize(TObject *Sender)
{
ListView1->Columns->Items[1]->Width = -2;
}
여기서 Width = -2 는 ListView 콘트롤에서 칼럼의 폭을 보정하는 프리 디파인된 값으로 사용 됩니다.
|