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
[35333] Re:[질문]ListView 에서 특정 셀에 그림 그리는 방법
julien [julien] 1175 읽음    2004-06-02 17:10
void __fastcall TForm1::statusListViewCustomDrawSubItem(TCustomListView *Sender,
      TListItem *Item, int SubItem, TCustomDrawState State,
      bool &DefaultDraw)
{
    DefaultDraw = SubItem != 6;
    if(SubItem == 6)
    {
        //Item 이 있는 한 줄 전체의 영역을 읽어옵니다.
        TRect rt = Item->DisplayRect(drBounds);
        TListColumn* col;
        //해당 subitem 앞부분의 모든 칼럼의 크기를 rt.left 에 더해주고
        //뒷부분의 모든 칼럼의 크기를 rt.right 에서 빼주면
        //그림을 그리고자 하는 subitem 의 영역이 나옵니다.
        for(int i = 0; i < statusListView->Columns->Count; i++)
        {
            col = statusListView->Column[i];
            //
            if(i < SubItem) rt.left += col->Width;
            if(i > SubItem) rt.right -= col->Width;
        }
        //아래칸과 구별하기 위하여 rt.bottom에서 1을 빼서 한칸 띄어줍니다.
        rt.bottom--;

        TCanvas* c = statusListView->Canvas;
        c->Brush->Color = clBlue;
        c->FillRect(rt);
    }
}

Julien 님이 쓰신 글 :
: TStringGrid 보면 DrawCell 이 있어서 특정 셀에 그림을 그릴 수 있잖아요.
: TListView 를 vsReport 로 해서 TStringGrid 와 같은 형태로 만든 다음
: SubItems 들에서 모두 기본으로 글자가 나오게 하고 특정 셀은 직접 그림을 그리고 싶습니다.
: 어떻게 하면 되는 지 ...
: 검색을 해 보니까 한 줄 전체의 색깔을 바꾸거나 하는 건 있지만 특정 셀에 대한 건 찾기가 어렵네요.
:
: void __fastcall TForm1::ListView1CustomDrawSubItem(
:       TCustomListView *Sender, TListItem *Item, int SubItem,
:       TCustomDrawState State, bool &DefaultDraw)
: {
:     DefaultDraw = SubItem != 6;
:     if(SubItem == 6)
:     {
:         TRect rt = Item->DisplayRect(drBounds);
:         ListView1->Canvas->Rectangle(rt);
:     }
: }
:
: 이렇게 하니까 한 줄 전체에 사각형이 그려집니다. SubItem 이 6 인 지점의 한 셀만 사각형을 그리고 싶습니다.

+ -

관련 글 리스트
35325 [질문]ListView 에서 특정 셀에 그림 그리는 방법 Julien 832 2004/06/02
35333     Re:[질문]ListView 에서 특정 셀에 그림 그리는 방법 julien 1175 2004/06/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.