Азбука программирования в Win32 API


Азбука программирования в Win32 API - стр. 38


WINUSERAPI HANDLE WINAPI LoadImageA(HINSTANCE, LPCSTR, UINT,

int, int, UINT); WINUSERAPI HANDLE WINAPI LoadImageW(HINSTANCE, LPCWSTR,

UINT, int. int, UINT); tfifdef UNICODE (/define Loadlmage LoadlmageW T/eise

//define Loadlmage LoadlmageA #endif // IUNICODE

Первый, второй и последний аргументы этой функции работают в связке. Первый apryMeirr(hlnst) - хэндл программы. Как читатель должен помнить, если вместо хэндла программы указан нуль, то объект является предопределенным, т. е. хранится в «глубинах» системы. В противном случае, объект загружается откуда-то снаружи. Второй аргумент -IpszName - определяет загружаемый объект. Последний аргумент - fuLoad - содержит флаги, определяющие режим загрузки объекта. Среди этих флагов есть флаг LR LOADFROMFILE. Его название определяет его назначение - если этот флаг установлен, загрузка происходит из внешнего файла. От значения первого и последнего аргументов зависит, как будет интерпретирован второй аргумент. Взаимодействие этих трех аргументов объясняется в табл. 7.

Третий аргумент - тип образа, он может принимать значения IMAGE BITMAP, IMAGE_CURSOR, IMAGEJCON и IMAGE_ENHMETAFILE. Здесь комментарии излишни. Четвертый и :iv:b,i;i аргументы указывают ширину и высоту иконки или курсора и в нашем примере не используются.

43

Таблица 7. Взаимодействие аргументов функции LoadlmageQ

 

ШЬоас1(флаг LR_LOADFROMKILE)

 

hlnst

 

IpszName

 

 

Не установлен Не установлен Установлен Установлен

 

NULL не NULL NULL не NULL

 

Идентификатор предопределенного объекта Имя ресурса Имя файла, в котором содержится bitmap Имя файла, в котором содержится bitmap

 

 

Таблица 8. Флаги, определяющие параметры загртеки образа в память

 

Флаг

 

Значение

 

Эффект

 

LR_DEFAULTCOLOR

 

0x0000

 

Указывает, что загружаемый образ - не

 

 

 

 

 

монохромный

 

LRJVIONOCHROME

 

0x0001

 

Указывает, что загружаемый образ - черно-

 

 

 

 

 

белый

 

LR COLOR

 

0x0002

 

 

 

LR COPYRETURNORG

 

0x0004

 

 

 

LR COPYDELETEORG LR_LOADFROMFILE

 

0x0008 0x0010

 

Образ необходимо загружать из файла, а не

 

 

 

 

 

из ресурсов

 

LR_LOADTRANSPARENT

 

0x0020

 

Все пиксели, цвет которых совпадает с цветом пикселя, расположенного в левом

 

 

 

 

 

верхнем углу bitmap'a, отображаются как

 

 

 

 

 

прозрачные

 

LRJ3EFAULTSIZE

 

0x0040

 

Использовать ширину и высоту образа, определенные в системных метриках для

 

 

 

 

 

иконки и курсора, если cxDesircd или

 

 

 

 

 

cyDesired равны 0. Если этот флаг не

 

 

 

 

 

установлен, a cxDesired и/или cyDesired

 

 

 

 

 

равны 0, используются размеры образа,

 

 

 

 

 

указанные в ресурсе

 

LR_LOADMAP3DCOLORS

 

0x1000

 

Заменить следующие оттенки серого цвета: RGB(128, 128, 128)(DkGray)-na

 

 

 

 

 

COLOR 3DSHADOW,RGB(192, 192, 192)

 

 

 

 

 

(Gray) - на COLOR 3DFACE, RGB(223,

 

 

 

 

 

223, 223) (LtGray) - на COLOR JDLIGHT

 

LR_CREATEDIBSECTION

 

0x2000

 

При загрузке bitmap'a возвращает ориги­нальные значения цветов, не преобразуя

 

 

 

 

 

bitmap в совместимый с данным контек-

 

 

 

 

 

стом

 

LR COPYEROMRESOURCE LR__SHARED

 

0x8000

 

Разделять хэндл загруженного изображе­ния, в случае, если образ загружается

 

 

 

 

 

несколько раз. Нежелательно применять к

 

 

 

 

 

образам нестандартных размеров

 

<


Начало  Назад  Вперед



Книжный магазин