|
OnDrawItem이라는 이벤트가 있을겁니다.
원형은 다음과 같구요..
void __fastcall TForm1::ListView1DrawItem(TCustomListView *Sender,
TListItem *Item, TRect &Rect, TOwnerDrawState State)
{
}
Rect가 해당 아이템이 표시되는 영역입니다.
이 영역을 이용해서 Canvas에 Text를 출력하시면 됩니다.
Rect의 Width는 금방 나오는거고 표시할 Text의 Width는 TCanvas에 구해주는 함수가 있을겁니다. 잘 기억은 안나지만 아무튼, 그 함수를 쓰시면 현재 Canvas에 지정된 Font속성에 맞춰 정확한 Text의 Width를 계산할 수 있습니다. Multiline을 표시할땐 별도로 API를 쓰셔야 높이까지 정확하게 얻을 수 있습니다.
아무튼, 이 폭들을 잘 계산하면 가운데 정렬로 표시하게 해 줄 수 있겠죠?
이런 작업을 반복적으로 해야 한다면 다른 서드파티 컴포넌트를 구하시든지 아니면 직접 컴포넌트를 구현해 보시는 것도 좋은 경험이 될겁니다.
|