오랜만에 수얍니당 수야 수야~
TListView의 ViewStyle이 vsReport인 경우에 해당합니다.
다른 뷰스타일인 경우 전혀 테스트 하지 않았음을 명시합니다.
C++ Builder 6 - No Upgrades
Windows XP Pro - SP2
스트링 그리드를 사용하기에는 왼지 두껍고 촌스러워서 저는 TListView를 자주 사용합니다.
게시판에 많은 질문들이 TListView의 색을 변경하는 방법에 대한 질답이 많이 있지요.
간단히 해결하는 방법을 올리고자 합니다.
TListView를 기본속성으로 하나 올려놨습니다.
생성할 이벤트 함수
OnCustomDrawItem
OnCustomDrawSubItem
이제 모든 준비가 끝났군요.
기타 다른 준비( 컬럼 생성 등등 ) 기본적인것은 직접 해주시기 바랍니다.
void __fastcall TForm1::ListView1CustomDrawItem(TCustomListView *Sender,
TListItem *Item, TCustomDrawState State, bool &DefaultDraw)
{
Sender->Canvas->Brush->Color = clInactiveCaptionText;
}
//---------------------------------------------------------------------------
void __fastcall TForm1::ListView1CustomDrawSubItem(TCustomListView *Sender,
TListItem *Item, int SubItem, TCustomDrawState State,
bool &DefaultDraw)
{
Sender->Canvas->Brush->Color = clWhite;
}
//---------------------------------------------------------------------------
위 두 함수의 코딩을 넣어주시면 게임 끝입니다.
물론 각자 개개인의 상황은 각자 상황에 맞춰서 더 좋은 코딩으로 짜맞추시기 바랍니다.
특별히 오너드로우를 할 필요도 없으며 다른 설정 역시 할 필요가 없네요.
자! 위의 두 라인의 소스면 이젠 TListView의 컬럼을 좀 더 화려하게 꾸며줄 수 있겠지요?
이해가 가지 않으신다면 게시판에 질문을 올리시면 더 좋은 답변을 받아보실 수 있을겁니다.
기회가 된다면 제가 직접 질문을 볼 수도 있겠지요~ ( 희박하지만.. )
수야!╋였습니다.!
|