原文链接 -> 传送门
函数功能:
LoadImage 函数用于载入一个图标,光标,动画光标或位图。
API 函数原型:
注释:_In_ 说明该参数是输入的,_In_opt_ 说明该参数是输入同时是可选的。
HANDLE WINAPI LoadImage( _In_opt_ HINSTANCE hinst, _In_ LPCTSTR lpszName, _In_ UINT uType, _In_ int cxDesired, _In_ int cyDesired, _In_ UINT fuLoad );
参数解析:
|
参数 |
含义 |
||||||||||||||||||||
|
hinst |
1. 指向 DLL 模块或包含图像加载的可执行文件(.exe)的句柄。若想获得更多信息,请参见GetModuleHandle 函数。(注意:在 32 位的 Windows 系统上,一个实例句柄(HINSTANCE),比如由 WinMain 的系统函数调用的公开的应用程序实例句柄,和模块句柄(HMODULE)其实是一样的 |
||||||||||||||||||||
|
lpszName |
1. 指向要加载的图像。如果参数 hinst 是非 NULL 并且参数 fuload 省略了 LR_LOADFROMFILE,那么参数 lpszName 指定 hinst 模块中的图像资源。如果图像资源是按名称从模块加载,那么参数 lpszName 是一个指向以 null 结尾的字符串,该字符串包含图像资源的名称。如果图像资源是按顺序从模块加载,使用MAKEINTRESOURCE 宏将图像序号转换成可以传递给 LoadImage 函数的形式。若想获得更多信息,请参见下面的备注部分
|
||||||||||||||||||||
|
uType |
指定要加载图像的类型。此参数可以是下列值之一:
|
||||||||||||||||||||
|
cxDesired |
指定以像素为单位的图标或光标的宽度。如果此参数为零,并且参数 fuload 是 LR_DEFAULTSIZE,该函数将使用 SM_CXICON 或 SM_CXCURSOR 系统度量值来设置宽度。如果此参数为零,并且没使用 LR_DEFAULTSIZE,该函数将使用实际资源的宽度 |
||||||||||||||||||||
|
cyDesired |
指定以像素为单位的图标或光标的高度。如果此参数为零,并且参数 fuload 是 LR_DEFAULTSIZE, 该函数将使用 SM_CYICON 或 SM_CYCURSOR 系统度量值来设置高度。如果此参数为零,并且没使用 LR_DEFAULTSIZE,该函数将使用实际资源的高度 |
||||||||||||||||||||
|
fuLoad |
此参数可以是一个或多个下面的值:
|
返回值:
1. 如果函数调用成功,返回值是新加载图像的句柄;
2. 如果函数调用失败,返回值为 NULL。
3. 获取更多错误信息请调用 GetLastError 函数。
备注:
1. 如果 is_intresource(lpszname) 为 TRUE,那么 lpszname 指定给定的资源的整数标识符。否则,它是一个指向一个空终止字符串的指针。如果字符串的第一个字符是一个井号(#),那么剩下的字符代表一个十进制数,其指定了资源的整数标识符。例如,字符串“#258”代表标识符 258。
2. 当你使用完你加载的位图,光标或图标而没有指定 LR_SHARED 标记,你可以通过调用下表中的函数来释放与其关联的内存:
|
资源 |
释放函数 |
|
Bitmap |
|
|
Cursor |
|
|
Icon |
系统将自动删除这些资源当创建它们的进程终止;但是,调用适当的函数可以节省内存,并降低进程的工作集的大小。
需求:
|
Minimum supported client |
Windows 2000 专业版 [仅桌面应用程序] |
|
Minimum supported server |
Windows 2000 服务器版 [仅桌面应用程序] |
|
Header |
Winuser.h (包含于 Windows.h) |
|
Library |
User32.lib |
|
DLL |
User32.dll |
|
Unicode and ANSI name |
LoadlmageW (Unicode) 和 LoadlmageA (ANSI) |




