AppendMenu
The AppendMenu
function appends a new item to the end of the specified menu bar, drop-down
menu, submenu, or shortcut menu. You can use this function to specify the
content, appearance, and behavior of the menu item.
The AppendMenu
function has been superseded by the InsertMenuItem
BOOL AppendMenu(
HMENU hMenu, |
// handle to menu
to be changed |
UINT uFlags, |
// menu-item flags |
UINT uIDNewItem, |
// menu-item
identifier or handle of drop-down menu or submenu |
LPCTSTR lpNewItem |
// menu-item
content |
); |
|
Parameters
hMenu
Identifies
the menu bar, drop-down menu, submenu, or shortcut menu to be changed.
uFlags
Specifies
flags to control the appearance and behavior of the new menu item. This
parameter can be a combination of the values listed in the following Remarks
section.
uIDNewItem
Specifies
either the identifier of the new menu item or, if the uFlags parameter
is set to MF_POPUP, the handle to the drop-down menu or submenu.
lpNewItem
Specifies the
content of the new menu item. The interpretation of lpNewItem depends on
whether the uFlags parameter includes the MF_BITMAP, MF_OWNERDRAW, or
MF_STRING flag, as follows:
Value |
Description |
MF_BITMAP |
Contains a
bitmap handle. |
MF_OWNERDRAW |
Contains a
32-bit value supplied by the application that can be used to maintain additional
data related to the menu item. The value is in the itemData member of
the structure pointed to by the lparam parameter of the WM_MEASURE or
WM_DRAWITEM message sent when the menu is created or its appearance is updated.
|
MF_STRING |
Contains a
pointer to a null-terminated string. |
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,
call GetLastError
Remarks
The
application must call the DrawMenuBar
The following
flags can be set in the uFlags parameter:
Value |
Description |
MF_BITMAP |
Uses a
bitmap as the menu item. The lpNewItem parameter contains the handle
to the bitmap. |
MF_CHECKED |
Places a
check mark next to the menu item. If the application provides check-mark
bitmaps (see SetMenuItemBitmaps |
MF_DISABLED |
Disables
the menu item so it cannot be selected, but the flag does not gray it. |
MF_ENABLED |
Enables the
menu item so it can be selected, and restores it from its grayed state. |
MF_GRAYED |
Disables
the menu item and grays it so it cannot be selected. |
MF_MENUBARBREAK |
Functions
the same as the MF_MENUBREAK flag for a menu bar. For a drop-down menu,
submenu, or shortcut menu, the new column is separated from the old column by
a vertical line. |
MF_MENUBREAK |
Places the
item on a new line (for a menu bar) or in a new column (for a drop-down menu,
submenu, or shortcut menu) without separating columns. |
MF_OWNERDRAW |
Specifies
that the item is an owner-drawn item. Before the menu is displayed for the
first time, the window that owns the menu receives a WM_MEASUREITEM |
MF_POPUP |
Specifies
that the menu item opens a drop-down menu or submenu. The uIDNewItem
parameter specifies the handle to the drop-down menu or submenu. This flag is
used to add a menu name to a menu bar, or a menu item that opens a submenu to
a drop-down menu, submenu, or shortcut menu. |
MF_SEPARATOR |
Draws a
horizontal dividing line. This flag is used only in a drop-down menu,
submenu, or shortcut menu. The line cannot be grayed, disabled, or
highlighted. The lpNewItem and uIDNewItem parameters are
ignored. |
MF_STRING |
Specifies
that the menu item is a text string; the lpNewItem parameter points to
the string. |
MF_UNCHECKED |
Does not
place a check mark next to the item (default). If the application supplies
check-mark bitmaps (see SetMenuItemBitmaps1NUQ_V9), this flag displays the unchecked
bitmap next to the menu item. |
The following
groups of flags cannot be used together:
MF_DISABLED, MF_ENABLED, and
MF_GRAYED
MF_BITMAP, MF_STRING, and
MF_OWNERDRAW
MF_MENUBARBREAK and
MF_MENUBREAK
MF_CHECKED and MF_UNCHECKED
See Also