Орган просмотра ListView
HIMAGELIST WINAPI ImageList_Create(
int cx, // ширина изображения
int cy, // высота изображения
UINT flags, // тип изображения (см. описание функции)
int cInitial, // первоначальное количество изображений в списке
int cGrow //количество изображений, которое может быть добавлено дополнительно );
Желательно в качестве ширины и высоты изображения использовать текущие системные значения, которые можно получить при помощи функции GetSystemMetrics(см. справочную документацию или электронный справочник WIN32 Programmer’s Reference). Ниже приведен пример создания двух списков со стандартными и уменьшенными пиктограммами.
himlLarge = ImageList_Create(GetSystemMetrics(SM_CXICON),
GetSystemMetrics(SM_CYICON), ILC_MASK, N, 1);
himlSmall = ImageList_Create(GetSystemMetrics(SM_CXSMICON),
GetSystemMetrics(SM_CYSMICON), ILC_MASK, N, 1);
Каждый из созданных списков необходимо заполнить пиктограммами при помощи функции ImageList_AddIcon, параметрами которой являются идентификаторы списка и добавляемой пиктограммы:
int ImageList_AddIcon(HIMAGELIST himl, HICON hicon);
После этого необходимо подключить созданные и заполненные списки к органу управления ListView. Для этого используется макрокоманда ListView_SetImageList, которая посылает органу управления сообщение LVM_SETIMAGELIST:
HIMAGELIST ListView_SetImageList(HWND hwnd, HIMAGELIST himl, int iImageList);
48
Параметрами этой макрокоманды являются идентификатор окна ListView, идентификатор списка и тип изображений в списке (LVSIL_NORMAL, LVSIL_SMALL, LVSIL_STATE).
Если список будет отображаться в режиме многоколоночного отчета, необходимо вставить нужное количество столбцов, а также определить для каждого столбца заголовок, ширину и способ выравнивания элементов столбца. Это выполняется при помощи макрокоманды ListView_InsertColumn, посылающей органу управления сообщение LVM_INSERTCOLUMN (см. описание этого сообщения для более подробной информации). Кроме того, эта макрокоманда ставит в соответствие каждому столбцу номер дополнительного элемента. При отображении многоколоночного отчета в столбце с номером 0 отображается элемент списка (item), а в остальных столбцах – дополнительные элементы списка (subitem), которые нумеруются с 1.
предыдущаяследующая