2010-11-20 237 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 interfaces和。

这个讨论已经出现好几次了(here for example)。 ListView中的组头是奇怪的野兽。在XP中,你最多可以设置他们的颜色(甚至不是他们的字体),但自Vista以来,绝对没有什么可以对他们做的。

相关问题