2010-11-20 435 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以來,絕對沒有什麼可以對他們做的。

相關問題