Операционная система Windows 95 для программиста



         

Списки изображений


Итак, вы создали окно органа управления List View, выбрав для него подходящий набор стилей. Теперь следует заняться наполнением этого окна изображениями и элементами списка.

В зависимости от того, в каких режимах будет работать создаваемый вами орган управления List View, вы должны создать один, два или три списка из следующего набора:

  • список стандартных пиктограмм;
  • список пиктограмм уменьшенного размера;
  • список пиктограмм состояния.
  • Как выбрать нужные списки?

    Список стандартных пиктограмм нужен только в том случае, если вы будете использовать орган управления List View в режиме LVS_ICON (рис.3.2 в разделе "Приложение List Application").

    Список пиктограмм уменьшенного размера нужен для всех остальных режимов (рис. 3.1, 3.3, 3.4).

    Что же касается списка пиктограмм состояния (state image list), то он используется для выделения состояния отдельных элементов списка. В SDK есть исходные тексты приложения ListCtrl, создающего список пиктограмм состояния.

    Для создания списка изображения вы должны вызвать функцию ImageList_Create :

    HIMAGELIST WINAPI ImageList_Create( int cx, // ширина изображения int cy, // высота изображения UINT flags, // тип изображения int cInitial, // первоначальное количество изображений int cGrow); // количество изображений, на которое // увеличится размер списка при добавлении новых изображений

    Параметры cx и cy определяют, соответственно, ширину и высоту добавляемых изображений. Если вы создаете список пиктограмм стандартного или уменьшенного размера, для определения значения этих параметров следует использовать функцию GetSystemMetrics , передав ей в первом случае параметры SM_CXICON и SM_CYICON , а во втором - параметры SM_CXSMICON и SM_CYSMICON .

    Функция GetSystemMetrics была нами описана в 11 томе "Библиотеки системного программиста".

    Параметр flags определяет тип изображений, из которых состоит список. Вы можете создавать список из пиктограмм, аппаратно-зависимых битовых изображений DDB или аппаратно-независимых битовых изображений DIB. Приведем список возможных значений параметра flags:




    Содержание  Назад  Вперед