SetMenuItemInfoA function (winuser.h)
Changes information about a menu item.
Syntax
BOOL SetMenuItemInfoA(
[in] HMENU hmenu,
[in] UINT item,
BOOL fByPositon,
[in] LPCMENUITEMINFOA lpmii
);
Parameters
[in] hmenu
Type: HMENU
A handle to the menu that contains the menu item.
[in] item
Type: UINT
The identifier or position of the menu item to change. The meaning of this parameter depends on the value of fByPosition.
fByPositon
[in] lpmii
Type: LPMENUITEMINFO
A pointer to a MENUITEMINFO structure that contains information about the menu item and specifies which menu item attributes to change.
Return value
Type: BOOL
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, use the GetLastError function.
Remarks
The application must call the DrawMenuBar function whenever a menu changes, whether the menu is in a displayed window.
In order for keyboard accelerators to work with bitmap or owner-drawn menu items, the owner of the menu must process the WM_MENUCHAR message. See Owner-Drawn Menus and the WM_MENUCHAR Message for more information.
Examples
For an example, see Example of Owner-Drawn Menu Items.
Note
The winuser.h header defines SetMenuItemInfo as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | winuser.h (include Windows.h) |
Library | User32.lib |
DLL | User32.dll |
API set | ext-ms-win-ntuser-menu-l1-1-0 (introduced in Windows 8) |
See also
Conceptual
Reference