|
: 이상한 것은 TListBox에 OnPaint 이벤트가 있던가요?
:
: TListBox가 기본으로 제공하는 그리기 방법이 아닌 다른 방법으로 그리려면 TListBox 인스턴스의 Style 속성을 lbOwnerDrawFixed나 lbOwnerDrawVariable이나 lbVirtualOwnerDraw로 해두고 OnDrawItem 이벤트 핸들러에서 그리기를 하는 것으로 알고 있습니다만...
------------------------------------
일단 외랑님과 ㅁ님의 답변 감사드립니다.
외랑님이 주신 답변데로 첨엔 Onpaint이벤트 핸들러에 루틴을 넣었습니다.
ㅁ님의 말씀대로 ListBox엔 Onpaint이벤트가 없었구요~폼의 Onpaint에 넣었습니다.
(답변에도 ListBox의 Onpaint라고 쓰여 있지 않아서 폼 밖에 안 떠오르더군요^^;;)
ㅁ님께서 가르쳐주신 방법으로 방금 해봤습니다.
//대각선 생성.
ListBox1->Canvas->Pen->Color = clBlack;
ListBox1->Canvas->Pen->Width=2;
ListBox1->Canvas->MoveTo(ListBox1->ClientWidth,0);
ListBox1->Canvas->LineTo(0,ListBox1->ClientHeight);
요런 코드입니다. ListBox의 오브젝트인스펙터에 가서 style을 lbOwnerDrawFixed로 두고
OnDrawItem이벤트 핸들러에 위의 코드를 기입했습니다.
화면엔 아무것도 안 나타났습니다.
OnDrawItem<==요게 생성시 바로 발생하는 건가요? 아님 특별한 이벤트가 발생해야 하나요?
답변 부탁드리겠습니다.
|