2013-12-10 4 views
0

Я использую this code для группировки элементов в своем списке. Но я хочу, чтобы размер изображения заголовка группы оставался «16x16», в то время как изображение элементов внутри группы будет иметь другой размер, например. 50х50.Группировка элементов в списке с изображением

Как это сделать для Delphi 7?

ответ

3

Код статьи только имитируя группы, манипулируя нормальные элементы списка, поэтому название группы изображения и пункт изображение используют то же TListItem.ImageIndex свойства и, таким образом, будет доступ к тому же списку изображений, так что они должны использовать одни и тот же изображения размера.

Стандартный элемент управления Win32 ListView поддерживает различные списки изображений для заголовков групп и элементов списка (только для Vista +).

Я хотел бы предложить отказаться от кода статьи и либо:

  1. использовать API Win32 непосредственно включить управления ListView native grouping features. Просто потому, что компонент Delphi 7 TListView не поддерживает API группировки, не мешает вам использовать его вручную. Возможно, вам придется определять соответствующие типы записей и идентификаторы сообщений вручную в вашем коде, вот и все.

  2. переключиться на SoftGem's Virtual TreeView (что поддерживает Delphi 7), чтобы создать представление в виде столбцов с расширяемыми/сжимаемыми элементами. Отдельные узлы дерева могут иметь разную высоту, и они могут быть нарисованы владельцем, поэтому я думаю, что будет не сложно отображать изображения разных размеров для групп и предметов.

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