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
[1745] [질문] TListView 컨트롤에서/프포
뜰안에봄 [ ] 3225 읽음    1999-08-09 16:47

임펠리테리님의 답변 감사드립니다.
근데 저는 확실히 감히 잡히질 않아서 추가로 질문 드립니다.

임펠리테리님께서 WM_ERASEBKGND 메시지를 가로채서 컬럼영역이 아닌 부분을
칠하려고 다음과 같은 코드를 사용하였는데...아무것도 그려지지가 않아서요.

왜 그런지 이유를 알고싶습니다.

제가 작성한 컴포넌트 소스의 헤더에서 위 메시지를 가로채기 위해서 다음의
코드를 넣었구요

BEGIN_MESSAGE_MAP
    MESSAGE_HANDLER(WM_ERASEBKGND, TMessage, Test)
END_MESSAGE_MAP(TListView)

소스의 구현 파일에서 Test함수의 소스를 다음과 같이 주었습니다.

void __fastcall TMyListView::Test(TMessage &Msg)
{
    TListView::Dispatch(&Msg);

    TCanvas *TmpCanvas;

    TmpCanvas= new TCanvas();
    TmpCanvas->Handle= (HDC *)Msg.WParam;

    TmpCanvas->Brush->Color= clRed;
    TRect DrawRect;
    DrawRect.Left= 0;
    DrawRect.Top= 0;
    DrawRect.Right= 16;
    DrawRect.Bottom= 16;

    // ??? 왜 이부분이 그려지지 않을까요...
    TmpCanvas->FillRect(DrawRect);
    delete TmpCanvas;
}

음...제 실력으로서는 도대체 이해가 않가서요.
부탁드립니다.

읽어주셔서 감사합니다.
즐거운 통신이 되시길...



+ -

관련 글 리스트
1745 [질문] TListView 컨트롤에서/프포 뜰안에봄 3225 1999/08/09
1746     [답변] 뜰안에봄/ TListView 컨트롤에서/프포 박지훈.임프 3396 1999/08/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.