Функция LoadImage загружает значок, курсор, "живой " курсор или точечный рисунок.
Синтаксис
HANDLE LoadImage( HINSTANCE hinst, LPCTSTR lpszName, UINT uType, int cxDesired, int cyDesired, UINT fuLoad ); |
Параметры
hinst
[in] Дескриптор экземпляра модуля, который содержит загружаемое изображение. Чтобы загрузить OEM изображение, установите этот параметр в нуль.lpszName
[in] Устанавливает загружаемое изображение. Если параметр hinst - не ПУСТО (NULL), а параметр fuLoad не включает LR_LOADFROMFILE, параметр lpszName устанавливает ресурс изображения в модуле hinst. Если ресурс изображения загружается по имени, параметр lpszName - указатель на символьную строку с нулем в конце, которая содержит имя ресурса изображения. Если ресурс изображения загружается по порядковому номеру, используя макрос MAKEINTRESOURCE, то порядковый номер изображения преобразуется в форму, которая может быть передана в функцию LoadImage.Если параметр hinst - ПУСТО (NULL), а параметр fuLoad не включает значение LR_LOADFROMFILE, lpszName устанавливает загружаемое OEM изображение. Идентификаторы OEM изображения определены в Winuser.h и имеют нижеследующие префиксы.
OBM_ | OEM точечные рисунки |
OIC_ | OEM значки |
OCR_ | OEM курсоры |
Чтобы передать эти константы в функцию LoadImage, используйте макрос MAKEINTRESOURCE. Например, чтобы загрузить курсор OCR_NORMAL, передайте MAKEINTRESOURCE (OCR_NORMAL) как параметр lpszName и ПУСТО (NULL) как параметр hinst.
Если параметр fuLoad включает значение LR_LOADFROMFILE, lpszName - имя файла, который содержит изображение.
uType
[in] Устанавливает тип загружаемого изображения. Этим параметром может быть одно из ниже перечисленных значений.Значение | Предназначение |
IMAGE_BITMAP | Загружает точечный рисунок |
IMAGE_CURSOR | Загружает курсор |
IMAGE_ICON | Загружает значок |
cxDesired
[in] Устанавливает ширину значка или курсора, в пикселях. Если этот параметр равняется нулю, а параметр fuLoad - LR_DEFAULTSIZE, функция, чтобы установить ширину, использует системное значение размера SM_CXICON или SM_CXCURSOR. Если этот параметр равняется нулю и LR_DEFAULTSIZE не используется, функция использует фактическую ширину ресурса.cyDesired
[in] Устанавливает высоту значка или курсора, в пикселях. Если этот параметр равняется нулю, а параметр fuLoad - LR_DEFAULTSIZE, функция, чтобы установить высоту, использует системное значение размера SM_CYICON или SM_CYCURSOR. Если этот параметр равняется нулю и LR_DEFAULTSIZE не используется, функция использует фактическую высоту ресурса.fuLoad
[in] Этот параметр может состоять из одного или нескольких нижеследующих значений.Значение | Предназначение | ||||||||
LR_DEFAULTCOLOR | Задаваемый по умолчанию флажок; он ничего не делает. Все, что это означает - это "не LR_MONOCHROME". | ||||||||
LR_CREATEDIBSECTION | Когда параметр uType устанавливает IMAGE_BITMAP, то заставляет функцию возвращать точечный рисунок DIB секции, а не совместимый точечный рисунок. Этот флажок полезен чтобы загрузить точечный рисунок без отображения его в цвете устройства вывода на экран. | ||||||||
LR_DEFAULTSIZE | Использует ширину или высоту, определенную системными значениями размеров для курсоров или значков, если параметры cxDesired или cyDesired устанавливаются в нуль. Если этот флажок не определен, а cxDesired и cyDesired установлены в нуль, функция использует фактический размер ресурса. Если ресурс содержит несколько изображений, функция использует размер первого изображения. | ||||||||
|
Загружает изображение из файла, указанного параметром lpszName. Если этот флажок не определен, lpszName - имя ресурса. | ||||||||
|
Ищет таблицу
цветов изображения и заменяет
нижеследующие оттенки серого
соответствующим трехмерным цветом:
Не используйте этот параметр, если Вы загружаете точечный рисунок с глубиной цвета больше чем 8 bpp (битов на пиксель). |
||||||||
|
Не используйте этот параметр, если Вы загружаете точечный рисунок с глубиной цвета больше чем 8 bpp (битов на пиксель).
|
||||||||
|
Загружает изображение в черно-белом цвете. | ||||||||
|
Когда Вы используете этот флажок, система уничтожает ресурс, когда он больше не нужен.
При загрузке системного значка или курсора, Вы должны использовать флажок LR_SHARED, или функция будет не в состоянии загрузить ресурс. Windows 95/98/Me: функция находит первое изображение с затребованным именем ресурса в кэше, независимо от затребованного размера. |
||||||||
LR_VGACOLOR | Используются истинные VGA цвета. |
Возвращаемое значение
Если функция завершается успешно, возвращаемое значение - дескриптор недавно загруженного изображения.
Если функция завершается ошибкой, возвращаемое значение - ПУСТО (NULL). Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Замечания
Когда Вы заканчиваете использовать точечный рисунок, курсор или значок, который Вы загрузили, не устанавливая флажок LR_SHARED, Вы можете освободить связанную с ним память при помощи вызова один из функций в следующей ниже таблице.
Ресурс | Функция освобождения |
---|---|
Точечный рисунок | DeleteObject |
Курсор | DestroyCursor |
Значок | DestroyIcon |
Система автоматически удаляет эти ресурсы, когда процесс, который создавал их, завершает работу, однако, вызов соответствующей функции, сохраняет память и уменьшает размер рабочего набора страниц физической памяти процесса.
Пример
Пример, см. в статье Создание значка.
Смотри такжеОбзор Ресурсы, Функции, используемые ресурсами, CopyImage, GetSystemMetrics, LoadBitmap, LoadCursor, LoadIcon
Размещение и совместимость LoadImage |
|
Windows. NET Server |
Да |
Windows XP |
Да |
Windows 2000 |
Да |
Windows NT |
Да версии 4.0 и выше |
Windows Me |
Да |
Windows 98 |
Да |
Windows 95 |
Да |
Используемая библиотека |
Userl32.lib |
Заголовочный файл |
|
- объявлено в |
Winuser.h |
- включено в |
Windows.h |
Unicode |
Нет |
Замечания по платформе |
Не имеется |