SetMenuItemInfo

The SetMenuItemInfo function changes information about a menu item.

BOOL SetMenuItemInfo(
  HMENU hMenu,          
  UINT uItem,           
  BOOL fByPosition,     
  LPMENUITEMINFO lpmii  
);
 

Parameters

hMenu
Handle to the menu that contains the menu item.
uItem
Identifier or position of the menu item to change. The meaning of this parameter depends on the value of fByPosition.
fByPosition
Value specifying the meaning of uItem. If this parameter is FALSE, uItem is a menu item identifier. Otherwise, it is a menu item position.
lpmii
Pointer to a MENUITEMINFO structure that contains information about the menu item and specifies which menu item attributes to change.

Return Values

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

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.

Windows CE: Only the following flags are valid for the fMask member of the MENUITEMINFO structure pointed to by the pmii parameter:

MIIM_DATA

MIIM_ID

MIIM_TYPE

If MIIM_TYPE is specified, then the fType member of MENUITEMINFO must be the current type of the item, in other words, the type cannot be changed.

QuickInfo

  Windows NT: Requires version 4.0 or later.
  Windows: Requires Windows 95 or later.
  Windows CE: Requires version 1.0 or later.
  Header: Declared in winuser.h.
  Import Library: Use user32.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT.

See Also

Menus Overview, Menu Functions, GetMenuItemInfo, MENUITEMINFO