[Now Supported on Windows NT]
LoadImage功能加载图标,光标或位图。
手柄LoadImage(
HINSTANCE【HINST】, | //包含图像的实例的句柄 |
LPCTSTR【lpszName】, | //图片的名称或标识符 |
UINT【UTYPE】, | //图像类型 |
INT【cxDesired】, | //所需宽度 |
INT【cyDesired】, | //所需的高度 |
UINT【fuLoad】 | //加载标志 |
); |
参数
【HINST】
标识包含要加载的图像的模块实例。要加载OEM映像,请将此参数设置为零。
【lpszName】
标识要加载的图像。
如果【HINST】参数为非空,并且【fuLoad】参数不包含LR_LOADFROMFILE,则【lpszName】是指向包含【HINST】模块中图像资源名称的以空值终止的字符串的指针。
如果【HINST】为NULL且未指定LR_LOADFROMFILE,则此参数的低位字必须是要加载的OEM映像的标识符。OEM图像标识符在WINUSER.H中定义,并具有以下前缀:
字首 | 含义 |
OBM_ | OEM位图 |
OIC_ | OEM图标 |
OCR_ | OEM光标 |
Windows 95:如果【fuLoad】参数包含LR_LOADFROMFILE值,则【lpszName】是包含该映像的文件的名称。
Windows NT:不支援LR_LOADFROMFILE。
【UTYPE】
指定要加载的图像类型。此参数可以是以下值之一:
值 | 含义 |
IMAGE_BITMAP | 加载位图 |
IMAGE_CURSOR | 加载光标。 |
IMAGE_ICON | 加载图标。 |
【cxDesired】
指定图标或光标的宽度(以像素为单位)。如果此参数为零,并且【fuLoad】参数为LR_DEFAULTSIZE,则该函数使用SM_CXICON或SM_CXCURSOR系统度量值设置宽度。如果此参数为零并且不使用LR_DEFAULTSIZE,则该函数使用实际的资源宽度。
【cyDesired】
指定图标或光标的高度(以像素为单位)。如果此参数为零并且【fuLoad】参数为LR_DEFAULTSIZE,则该函数使用SM_CYICON或SM_CYCURSOR系统度量值设置高度。如果此参数为零并且不使用LR_DEFAULTSIZE,则该函数使用实际的资源高度。
【fuLoad】
指定以下值的组合:
值 | 含义 |
LR_DEFAULTCOLOR | 默认标志;它什么都不做这意味着“不是LR_MONOCHROME”。 |
LR_CREATEDIBSECTION | 当【UTYPE】参数指定IMAGE_BITMAP时,会使该函数返回DIB部分位图,而不是兼容的位图。该标志对于加载位图而不将其映射到显示设备的颜色是有用的。 |
LR_DEFAULTSIZE | 如果【cxDesired】或【cyDesired】值设置为零,则使用由游标或图标的系统度量值指定的宽度或高度。如果未指定此标志,并且【cxDesired】和【cyDesired】设置为零,则该函数使用实际的资源大小。如果资源包含多个图像,则该函数使用第一个图像的大小。 |
LR_LOADFROMFILE | 从【lpszName】参数指定的文件加载图像。如果未指定此标志,则【lpszName】是资源的名称。 |
LR_LOADMAP3DCOLORS | 搜索图像的颜色表,并使用相应的3D颜色替换以下灰色阴影: |
颜色 | 取而代之 |
Dk Gray,RGB(128,128,128) | COLOR_3DSHADOW |
灰色,RGB(192,192,192) | COLOR_3DFACE |
Lt Gray,RGB(223,223,223) | COLOR_3DLIGHT |
LR_LOADTRANSPARENT | 检索图像中第一个像素的颜色值,并使用默认窗口颜色(COLOR_WINDOW)替换颜色表中的相应条目。使用该条目的图像中的所有像素都将成为默认窗口颜色。此值仅适用于具有相应颜色表的图像。 如果【fuLoad】同时包含LR_LOADTRANSPARENT和LR_LOADMAP3DCOLORS值,LRLOADTRANSPARENT优先。但是,颜色表条目替换为COLOR_3DFACE而不是COLOR_WINDOW。 |
LR_MONOCHROME | 加载黑白图像。 |
LR_SHARED | 如果图像被加载多次,则共享图像句柄。如果未设置LR_SHARED,则对同一资源的第二次调用LoadImage将再次加载映像,并返回不同的句柄。 不要对非标准尺寸的图像使用LR_SHARED,加载后可能会更改或从文件加载的图像。 |
返回值
如果函数成功,则返回值是新加载映像的句柄。
如果函数失败,返回值为NULL。
也可以看看
CopyImage, GetSystemMetrics, LoadBitmap, LoadCursor, LoadIcon