我正在使用this code對列表視圖中的項目進行分組。但是我想要的是,組標題的圖像大小將保持「16x16」,而組內的項目的圖像將具有不同的大小,例如50×50。使用圖像對列表視圖中的項目進行分組
如何爲Delphi 7做到這一點?
我正在使用this code對列表視圖中的項目進行分組。但是我想要的是,組標題的圖像大小將保持「16x16」,而組內的項目的圖像將具有不同的大小,例如50×50。使用圖像對列表視圖中的項目進行分組
如何爲Delphi 7做到這一點?
的製品代碼僅通過操縱正常列表項模擬團,使組標題的圖像和項圖像利用相同TListItem.ImageIndex
屬性,因此將訪問相同的圖像列表,因此它們必須使用相同尺寸的圖像。
標準Win32 ListView控件支持爲組標題和列表項目使用不同的圖像列表(僅限Vista +)。
我會建議放棄物品代碼,並可以:
直接使用Win32 API使ListView的native grouping features。僅僅因爲Delphi 7的TListView
組件本身不支持分組API,並不妨礙您手動使用它。您可能必須在代碼中手動定義相關的記錄類型和消息ID,就這些了。
切換到SoftGem's Virtual TreeView(它確實支持Delphi 7)以創建帶有可展開/可摺疊項目的柱狀視圖。單獨的樹節點可以有不同的高度,並且它們可以是所有者繪製的,所以我認爲爲組和項目顯示不同大小的圖像並不困難。