Функция CreateIconFromResourceEx

Функция 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
Замечания по платформе Не имеется

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz