The SetMenuItemBitmaps function associates the specified bitmap with a menu item. Whether the menu item is checked or unchecked, the system displays the appropriate bitmap next to the menu item.
BOOL SetMenuItemBitmaps(
HMENU hMenu, // handle to menu
UINT uPosition, // menu item to receive new bitmaps
UINT uFlags, // menu item flags
HBITMAP hBitmapUnchecked, // handle to unchecked bitmap
HBITMAP hBitmapChecked // handle to checked bitmap
);
Value | Meaning |
---|---|
MF_BYCOMMAND | Indicates that uPosition gives the identifier of the menu item. If neither MF_BYCOMMAND nor MF_BYPOSITION is specified, MF_BYCOMMAND is the default flag. |
MF_BYPOSITION | Indicates that uPosition gives the zero-based relative position of the menu item. |
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
If either the hBitmapUnchecked or hBitmapChecked parameter is NULL, the system displays nothing next to the menu item for the corresponding check state. If both parameters are NULL, the system displays the default check-mark bitmap when the item is checked, and removes the bitmap when the item is not checked.
When the menu is destroyed, these bitmaps are not destroyed; it is up to the application to destroy them.
The checked and unchecked bitmaps should be monochrome. The system uses the Boolean AND operator to combine bitmaps with the menu so that the white part becomes transparent and the black part becomes the menu-item color. If you use color bitmaps, the results may be undesirable.
Use the GetSystemMetrics function with the CXMENUCHECK and CYMENUCHECK values to retrieve the bitmap dimensions.
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Unsupported.
Header: Declared in winuser.h.
Import Library: Use user32.lib.
Menus Overview, Menu Functions, GetSystemMetrics