Поделиться через


Метод IImageList::ImageListSetIcon (mmc.h)

Метод IImageList::ImageListSetIcon позволяет пользователю задать значок в списке изображений или создать значок, если его нет.

Синтаксис

HRESULT ImageListSetIcon(
  [in] LONG_PTR *pIcon,
  [in] long     nLoc
);

Параметры

[in] pIcon

Значение типа , указывающее дескриптор WIN32 HICON для устанавливаемого значка. Тип должен быть приведен в качестве указателя на LONG_PTR. Оснастка владеет этим ресурсом и должна освободить его по завершении. Если оснастка не освободит значок, произойдет утечка памяти ресурсов.

[in] nLoc

Значение типа , указывающее индекс, назначенный записи. Это виртуальный индекс, который внутренне сопоставлен с фактическим индексом.

Возвращаемое значение

Этот метод может возвращать одно из этих значений.

Комментарии

Если индекс, указанный nLoc , использовался ранее, ImageListSetIcon заменяет значок, хранящийся в nLoc. Если он ранее не использовался, добавляется новая запись в список изображений. Вставляемый значок должен иметь размеры 32x32 и 16x16 пикселей.

Выборочное изменение малого или большого значка в списке изображений

В MMC 1.2 появились два новых макроса для поддержки изменения только небольшого или большого значка в списке изображений. Два макроса, ILSI_LARGE_ICON и ILSI_SMALL_ICON, применяются к параметру nLocобъекта ImageListSetIcon.

Макрос ILSI_LARGE_ICON используется для изменения только большого значка в nLoc. Макрос ILSI_SMALL_ICON используется для изменения только небольшого значка в nLoc.

Чтобы задать различные большие и маленькие значки, можно использовать один из двух макросов. Эти макросы показаны в следующих примерах кода.

Фрагмент 1

pImageList->ImageListSetIcon((LONG_PTR*) hLargeIcon, nLoc); // set both
pImageList->ImageListSetIcon((LONG_PTR*) hSmallIcon, ILSI_SMALL_ICON (nLoc)); // change small

Фрагмент 2

pImageList->ImageListSetIcon((LONG_PTR*) hSmallIcon, nLoc); // set both
pImageList->ImageListSetIcon((LONG_PTR*) hLargeIcon, ILSI_LARGE_ICON (nLoc)); // change large

Прежде чем использовать ILSI_LARGE_ICON или ILSI_SMALL_ICON, оснастка должна сначала вставить изображение в nLoc. Метод ImageListSetIcon завершится ошибкой, если используется макрос ILSI_LARGE_ICON или ILSI_SMALL_ICON, а nLoc не ссылается на существующий образ.

Требования

   
Минимальная версия клиента Windows Vista
Минимальная версия сервера Windows Server 2008
Целевая платформа Windows
Header mmc.h
DLL Mmcndmgr.dll

См. также раздел

IImageList