Функция CreateIconFromResourceEx создает значок или курсор из битов ресурса, описывающих значок.
Синтаксис
HICON CreateIconFromResourceEx( PBYTE pbIconBits, DWORD cbIconBits, BOOL fIcon, DWORD dwVersion, int cxDesired, int cyDesired, UINT uFlags ); |
Параметры
pbIconBits
[in] Указатель на буфер, содержащий биты ресурса значка или курсора. Эти биты обычно загружаются при помощи вызова функции LookupIconIdFromDirectoryEx и LoadResource.
cbIconBits
[in] Определяет размер набора битов указанных при помощи параметра pbIconBits, в байтах.
fIcon
[in] Определяет, что должно быть создано, значок или курсор. Если этот параметр - ИСТИНА (TRUE), должен создаться значок. Если это - ЛОЖЬ (FALSE), должен создаться курсор.
dwVersion
[in] Определяет номер версии значка или формат курсора из битов ресурса указанных при помощи параметра presbits. Этот параметр может быть равен 0x00030000.
cxDesired
[in] Определяет желательную ширину значка или курсора, в пикселях. Если этот параметр - нуль, функция, чтобы установить ширину, использует системное метрическое значение SM_CXICON или SM_CXCURSOR.
cyDesired
[in] Определяет желаемую высоту значка или курсора, в пикселях. Если этот параметр - нуль, функция, чтобы установить высоту, использует системное метрическое значение SM_CYICON или SM_CYCURSOR.
uFlags
[in] Определяет комбинацию нижеследующих значений:
Флажок | Действие |
LR_DEFAULTCOLOR | Использование цветного формата по умолчанию. |
LR_DEFAULTSIZE | Использование ширины или высоты, задаваемой системными метрическими значениями для курсоров или значков, если значения cxDesired или cyDesired устанавлены в нуль. Если этот флажок не определяется, а cxDesired и cyDesired установлены в нуль, функция использует фактический размер ресурса. Если ресурс содержит несколько изображений, функция использует размер первого изображения. |
LR_MONOCHROME | Создает монохромный значок или курсор. |
LR_SHARED | Совместно использует дескриптор значка или курсора, если значок или курсор создаются несколько раз.
Если LR_SHARED установлен, то второй вызов функции CreateIconFromResourceEx
для того же самого ресурса создаст значок или курсор снова и возвратит другой дескриптор. При использовании этого флажка, система разрушает ресурс, когда он больше не нужен. Не используйте флажок LR_SHARED для значков или курсоров, которые имеют нестандартные размеры и которые могут измениться после загрузки, или если они загружаются из файла. Загружая системный значок или курсор, Вы должны использовать флажок LR_SHARED, или функция будет не в состоянии загрузить этот ресурс. Windows 95/98/Me: функция находит первое изображение с именем затребованного ресурса в кэше, независимо от затребованного размера. |
Возвращаемое значение
Если функция завершается успешно, возвращаемое значение - дескриптор значка или курсора.
Если функция завершается ошибкой, возвращаемое значение - NULL. Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Замечания
Функции CreateIconFromResource, CreateIconFromResourceEx, CreateIconIndirect, GetIconInfo, LookupIconIdFromDirectory и LookupIconIdFromDirectoryEx дают возможность оболочке приложения и программам просмотра значка проверять и использовать ресурсы по всей системе.
Вы должны вызвать функцию DestroyIcon для значков созданных при помощи функции CreateIconFromResourceEx.
Пример
Пример смотри в статье Совместное использование ресурсов значка.
Смотри такжеОбзор Значки, Функции, используемые значками, CreateIconFromResource, BITMAPINFOHEADER, CreateIconIndirect, DestroyIcon, GetIconInfo, LoadResource, LookupIconIdFromDirectoryEx
Размещение и совместимость CreateIconFromResourceEx | ||
К | Windows XP | Да |
л | Windows 2000 Professional | Да |
и | Windows NT Workstation | Да версии 3.1 и выше |
е | Windows Me | Да |
н | Windows 98 | Да |
т | Windows 95 | Да |
С | Windows 2003 Server | Да |
е | Windows 2000 Server | Да |
р | Windows NT Server | Да версии 3.1 и выше |
в | ||
е | ||
р | ||
Используемая библиотека | User32.lib | |
Используемая DLL | user32.dll | |
Заголовочный файл | ||
- объявлено в | Winuser.h | |
- включено в | Windows.h | |
Unicode | ||
Замечания по платформе | Не имеется |