Электронный учебник:


Курс лекций:


Дополнительно:

Практикум:



Наши хостеры:

Обучение бесплатно, почасовые гостиницы.

--------------------------

Орган просмотра 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.

предыдущаяследующая