2010-11-20 2 views
5

.NET 2.0에서 System.Windows.Forms.ListView 컨트롤을 사용하고 있습니다. ListView의 OwnerDraw 속성을 true로 설정 한 다음 OnDrawItem을 재정 의하여 사용자 지정 ListViewItems를 재정의 할 수 있다는 것을 알고 있습니다. OnDrawColumnHeader 및 OnDrawSubItem을 재정 의하여 이러한 구성 요소를 그릴 수도 있습니다.ListViewGroup을 사용자 지정하여 그릴 수 있습니까?

그러나 ListViewGroups를 사용자 지정하여 그리려면 동일한 "OnDrawGroup"메서드가 없습니다.

이 컨트롤에서 사용하는 메시지를 간략하게 살펴본 결과 WM_CUSTOMDRAW 및 CDDS_ITEMPREPAINT 알림이 표시되지만이 기본 메시지를 사용자 지정 ListViewGroups에서 처리하는 방법이 있는지 궁금합니다.

답변

2

내장 메커니즘을 사용하여 이것이 가능하지 않다고 생각합니다. 나는 너 자신을 모두 그려야한다고 생각해.

2

그냥 할 수 없습니다.

모든 것을 직접 그리거나 WM_CUSTOMDRAW 또는 심지어 undocumented ListView interfacesused here을 사용하여 처리 할 수는 없습니다.

이 토론은 여러 번 (here for example) 발생했습니다. ListView의 그룹 머리글은 이상한 짐승입니다. XP에서는 자신의 색 (글꼴조차도 아님)을 설정할 수 있지만 비스타 이후로는 할 수있는 일이 전혀 없습니다.

관련 문제