Метод 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 |