Подключение списков изображений к органу List View
На данном этапе мы создали и заполнили списки изображений. Теперь их надо подключить к органу управления List View, вызвав макрокоманду ListView_SetImageList :
HIMAGELIST ListView_SetImageList( HWND hwnd, // идентификатор окна органа List View HIMAGELIST himl, // идентификатор подключаемого списка int iImageList); // тип изображений в списке
Первые два параметра макрокоманды задают, соответственно, идентификатор окна органа List View и идентификатор подключаемого списка, который мы только что создали и заполнили.
Параметр iImageList может иметь следующие значения:
Значение | Содержимое списка |
LVSIL_NORMAL | Пиктограммы стандартного размера |
LVSIL_SMALL | Пиктограммы уменьшенного размера |
LVSIL_STATE | Пиктограммы состояния элементов списка |
Макрокоманда ListView_SetImageList посылает органу управления List View сообщение LVM_SETIMAGELIST и определена следующим образом:
#define ListView_SetImageList(hwnd, himl, iImageList) \ (HIMAGELIST)(UINT)SendMessage((hwnd), LVM_SETIMAGELIST, \ (WPARAM)(iImageList), (LPARAM)(UINT)(HIMAGELIST)(himl))
Вы можете посылать сообщение LVM_SETIMAGELIST непосредственно, однако макрокомандой удобнее пользоваться. Вот соответствующий фрагмент исходного текста приложения, подключающий два списка:
ListView_SetImageList(hwndList, himlSmall, LVSIL_SMALL); ListView_SetImageList(hwndList, himlLarge, LVSIL_NORMAL);