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

C++빌더 Q&A
C++Builder Programming Q&A
[9775] Re:[질문]ListView OwnerDarw 질문.
박지훈.임프 [cbuilder] 1590 읽음    2001-08-10 21:16
임프랍니다.

리스트뷰의 경우, OwnerDraw 프로퍼티를 false로 해도 발생하는 OnCustomDraw 이벤트와는 달리,
OnDrawItem은 반드시 OwnerDraw를 true로 설정해야 발생하게 됩니다.

그런데 아래 다른 글을 보니 OwnerDraw를 설정해도 안된다는 말이 있군요.
보여주신 소스대로 실행해서는, OnDrawItem 이벤트는 발생하겠지만, 리스트뷰에 아무것도 안그려질 것으로
생각됩니다. 왜냐하면.. 텍스트를 안그려줬으니까요.
ListView1->Canvas->TextRect(Rect, Rect.Left+2, Rect.Top, Item->Caption);
이와 같이 텍스트를 그리는 코드를 추가해주세요.

그럼 이만...


김병은 님이 쓰신 글 :
: 정말 초보적인 질문입니다.
:
: New Project를 해서 Form에 ListView에 아이템을 하나를 추가 해놓고,
: OwnerDraw를 true로 하면 아래의 OnDrawItem이벤트가 일어나야 하잖습니까?
: 저도 그렇게 알고 있는데..이벤트가 일어나지 않네요..
: 다른 옵션을 정해 주어야 하는 것 있습니까?
:
: //------------------------------------------------------------------
: void __fastcall TForm1::ListView1DrawItem(TCustomListView *Sender,
:       TListItem *Item, TRect &Rect, TOwnerDrawState State)
: {
:      ListView1->Canvas->Font->Color = clRed;
:      ListView1->Canvas->Brush->Color = clWhite;
:      ListView1->Canvas->FillRect(Rect);
: }
: //------------------------------------------------------------------
:
: 단순히 폼위에 ListView하나와 ImageList 하나만 올러 놓고 Test 하는데 않돼네요.
: 감사합니다. 도와 주세요.

+ -

관련 글 리스트
9734 [질문]ListView OwnerDarw 질문. 김병은 1010 2001/08/09
9775     Re:[질문]ListView OwnerDarw 질문. 박지훈.임프 1590 2001/08/10
9780         Re:Re:[질문]ListView OwnerDarw 질문. 수야 1788 2001/08/10
9738     Re:[질문]ListView OwnerDarw 질문. 방태윤 1029 2001/08/09
9743         Re:Re:[질문]ListView OwnerDarw 질문. 김병은 921 2001/08/09
9750             Re:Re:Re:[질문]ListView OwnerDarw 질문. 방태윤 1574 2001/08/10
10100                 답변 감사합니다만 도무지 이해가 안 되어서.DB에 대한 질의문도 없고 다시한번 도와주세요. 정기원 1001 2001/08/21
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.