LoadImage

This function loads an icon, cursor, or bitmap.

At a Glance

Header file: Winuser.h
Windows CE versions: 1.0 and later

Syntax

HANDLE LoadImage(HINSTANCE hinst,| LPCTSTR lpszName,
UINT
uType, int cxDesired, int cyDesired, UINT fuLoad);

Parameters

hinst

[in] Handle to an instance of the module that contains the image to be loaded. To load an OEM image, set this parameter to zero.

lpszName

 [in] Identifies the image to load. If the hinst parameter is non-NULL and the fuLoad parameter does not include LR_LOADFROMFILE, lpszName is a pointer to a null-terminated string that contains the name of the image resource in the hinst module.

If hinst is NULL and LR_LOADFROMFILE is not specified, the low-order word of this parameter must be the identifier of the OEM image to load. The OEM image identifiers are defined in Winuser.h and have the following prefixes:

Prefix Description
OBM_ OEM bitmaps
OIC_ OEM icons
OCR_ OEM cursors

If the fuLoad parameter includes the LR_LOADFROMFILE value, lpszName is the name of the file that contains the image.

uType

[in] Specifies the type of image to be loaded. This parameter can be one of the following values:

Value Description
IMAGE_BITMAP Loads a bitmap.
IMAGE_CURSOR Loads a cursor.
IMAGE_ICON Loads an icon.

cxDesired

 [in] Specifies the width, in pixels, of the icon or cursor. If this parameter is zero, the function uses the SM_CXICON or SM_CXCURSOR system metric value to set the width. If uType is IMAGE_BITMAP, this parameter must be zero.

cyDesired

[in] Specifies the height, in pixels, of the icon or cursor. If this parameter is zero, the function uses the SM_CYICON or SM_CYCURSOR system metric value to set the height. If uType is IMAGE_BITMAP, this parameter must be zero.

fuLoad

[in] Set to zero.

Windows CE behaves as though the LR_DEFAULTCOLOR and LR_DEFAULTSIZE values are set. LR_DEFAULTCOLOR means “not monochrome..” LR_DEFAULTSIZE means that the system uses the width or height specified by the system metric values for cursors or icons if the cxDesired or cyDesired values are set to zero. If the resource contains multiple images, the function uses the size of the first image.

Return Values

The handle of the newly loaded image indicates success. NULL indicates failure. To get extended error information, call GetLastError.

Remarks

When you are finished using a bitmap, cursor, or icon you loaded, you can release its associated memory by calling one of the functions in the following table.

Resource Release function
Bitmap DeleteObject
Cursor DestroyCursor
Icon DestroyIcon

The system automatically deletes these resources when the process that created them terminates, however, calling the appropriate function saves memory and decreases the size of the process's working set.

If you are targeting a platform that does not support mouse cursors, you cannot specify the SM_CXCURSOR and SM_CYCURSOR values in the cxDesired and cyDesired parameters, and you cannot specify IMAGE_CURSOR for the uType parameter.

See Also

GetSystemMetrics, LoadBitmap, LoadIcon