C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 팁&트릭
C++Builder Programming Tip&Tricks
[695] TListView의 Row별 Column별 색 바꾸기
수야!╋ [sooya23] 8152 읽음    2007-08-06 18:01
오랜만에 수얍니당 수야 수야~

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의 컬럼을 좀 더 화려하게 꾸며줄 수 있겠지요?

이해가 가지 않으신다면 게시판에 질문을 올리시면 더 좋은 답변을 받아보실 수 있을겁니다.

기회가 된다면 제가 직접 질문을 볼 수도 있겠지요~ ( 희박하지만.. )

수야!╋였습니다.!

+ -

관련 글 리스트
695 TListView의 Row별 Column별 색 바꾸기 수야!╋ 8152 2007/08/06
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.