2010-11-20 2 views
5

Я использую элемент управления System.Windows.Forms.ListView на .NET 2.0. Я знаю, что могу установить свойство OwnerDraw в ListView равным true, а затем переопределить OnDrawItem, чтобы пользовательский рисовать мои ListViewItems. Я также могу переопределить OnDrawColumnHeader и OnDrawSubItem для рисования этих компонентов.Можно ли настраивать ListViewGroup

Однако, нет эквивалентного метода «OnDrawGroup», чтобы переопределить, если я хочу, чтобы пользователь рисовал мои ListViewGroups.

Я кратко рассмотрел сообщения, которые использует этот элемент управления, и я вижу, что есть уведомления WM_CUSTOMDRAW и CDDS_ITEMPREPAINT, но мне интересно, есть ли способ обработать эти собственные сообщения для пользовательского рисования списков ListViewGroups?

ответ

2

Я не верю, что это возможно с помощью встроенного механизма. Думаю, тебе придется все рисовать самостоятельно.

2

Это просто невозможно.

Вы не можете сделать это, рисуя все самостоятельно или спустившись до ручки WM_CUSTOMDRAW или даже используя undocumented ListView interfaces и used here.

Это обсуждение появилось несколько раз (here for example). Групповые заголовки в ListView являются странными животными. В XP вы могли бы максимально настроить свой цвет (даже не свой шрифт), но с Vista нет абсолютно ничего, что вы могли бы сделать с ними.

Смежные вопросы