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