CMenu Class |
Description
CMenu adds support for menus to Win32++. A menu is a list of items that specify options or groups of options (a submenu) for an application. Clicking a menu item opens a submenu or causes the application to carry out a command.
A menu is arranged in a hierarchy. At the top level of the hierarchy is the menu bar which contains a list of menus, which in turn can contain submenus. A menu bar is sometimes called a top-level menu, and the and submenus are also known as pop-up menus.
A menu item can either carry out a command or open a submenu. An item that carries out a command is called a command item or a command.
CMenu Members
Initialisation and Assignment | |
CMenu | CMenu(); CMenu(UINT nID);Constructor for CMenu. |
void Attach(HMENU hMenu);Attaches an existing menu to this CMenu.
void CreateMenu();Creates an empty menu.
void CreatePopupMenu();Creates a drop-down menu, submenu, or shortcut menu. The menu is initially empty..
void DestroyMenu();Destroys the menu.
HMENU Detach();Detaches the HMENU from this CMenu. If the HMENU is not detached it will be destroyed when this CMenu is deconstructed.
static CMenu* FromHandle(HMENU hMenu);Returns the CMenu associated with the specified menu handle. If a CMenu object doesn't already exist, a temporary CMenu object is created. This temporary CMenu will be deleted sometime after the processing of the current message is complete.
HMENU GetHandle() const;Returns the HMENU assigned to this CMenu.
BOOL LoadMenu(LPCTSTR lpszResourceName);
BOOL LoadMenu(UINT uIDResource);
BOOL LoadMenuIndirect(const void* lpMenuTemplate);Loads the menu from the specified windows resource or template.
BOOL TrackPopupMenu(UINT uFlags, int x, int y, CWnd* pWnd, LPCRECT lpRect = 0);Displays a shortcut menu at the specified location and tracks the selection of items on the menu..
BOOL TrackPopupMenuEx(UINT uFlags, int x, int y, CWnd* pWnd, LPTPMPARAMS lptpm);Displays a shortcut menu at the specified location and tracks the selection of items on the shortcut menu.
BOOL AppendMenu(UINT uFlags, UINT_PTR uIDNewItem = 0, LPCTSTR lpszNewItem = NULL);
BOOL AppendMenu(UINT uFlags, UINT_PTR uIDNewItem, const CBitmap* pBmp);Appends a new item to the end of the specified menu bar, drop-down menu, submenu, or shortcut menu.
UINT CheckMenuItem(UINT uIDCheckItem, UINT uCheck);Sets the state of the specified menu item's check-mark attribute to either selected or clear.
BOOL CheckMenuRadioItem(UINT uIDFirst, UINT uIDLast, UINT uIDItem, UINT uFlags);Checks a specified menu item and makes it a radio item. At the same time, the function clears all other menu items in the associated group and clears the radio-item type flag for those items.
BOOL DeleteMenu(UINT uPosition, UINT uFlags);Deletes an item from the specified menu.
UINT EnableMenuItem(UINT uIDEnableItem, UINT uEnable);Enables, disables, or grays the specified menu item. The uEnable parameter must be a combination of either MF_BYCOMMAND or MF_BYPOSITION and MF_ENABLED, MF_DISABLED, or MF_GRAYED.
UINT GetDefaultItem(UINT gmdiFlags, BOOL fByPos = FALSE);Determines the default menu item. The gmdiFlags parameter specifies how the function searches for menu items. This parameter can be zero or more of the following values: GMDI_GOINTOPOPUPS; GMDI_USEDISABLED.
DWORD GetMenuContextHelpId() const;Retrieves the Help context identifier associated with the menu.
BOOL GetMenuInfo(LPMENUINFO lpcmi) const;Retrieves the menu information.
UINT GetMenuItemCount() const;Retrieves the number of menu items.
UINT GetMenuItemID(int nPos) const;Retrieves the menu item identifier of a menu item located at the specified position
BOOL GetMenuItemInfo(UINT uItem, LPMENUITEMINFO lpMenuItemInfo, BOOL fByPos = FALSE);Retrieves information about the specified menu item.
UINT GetMenuState(UINT uID, UINT uFlags) const;Retrieves the menu flags associated with the specified menu item. Possible values for uFlags are: MF_BYCOMMAND (default) or MF_BYPOSITION.
int GetMenuString(UINT uIDItem, LPTSTR lpString, int nMaxCount, UINT uFlags) const;
int GetMenuString(UINT uIDItem, CString& rString, UINT uFlags) const;Copies the text string of the specified menu item into the specified buffer.
CMenu* GetSubMenu(int nPos);Retrieves the CMenu object of a pop-up menu.
BOOL InsertMenu(UINT uPosition, UINT uFlags, UINT_PTR uIDNewItem = 0, LPCTSTR lpszNewItem = NULL);
BOOL InsertMenu(UINT uPosition, UINT uFlags, UINT_PTR uIDNewItem, const CBitmap* pBmp);Inserts a new menu item into a menu, moving other items down the menu.
BOOL InsertMenuItem(UINT uItem, LPMENUITEMINFO lpMenuItemInfo, BOOL fByPos = FALSE);Inserts a new menu item at the specified position in a menu.
BOOL ModifyMenu(UINT uPosition, UINT uFlags, UINT_PTR uIDNewItem = 0, LPCTSTR lpszNewItem = NULL);
BOOL ModifyMenu(UINT uPosition, UINT uFlags, UINT_PTR uIDNewItem, const CBitmap* pBmp);Changes an existing menu item. This function is used to specify the content, appearance, and behavior of the menu item.
BOOL RemoveMenu(UINT uPosition, UINT uFlags);Deletes a menu item or detaches a submenu from the menu.
BOOL SetDefaultItem(UINT uItem, BOOL fByPos = FALSE);Sets the default menu item for the menu.
BOOL SetMenuContextHelpId(DWORD dwContextHelpId);Associates a Help context identifier with the menu.
BOOL SetMenuInfo(LPCMENUINFO lpcmi);Writes the specified buffer to the file.
BOOL SetMenuItemBitmaps(UINT uPosition, UINT uFlags, const CBitmap* pBmpUnchecked, const CBitmap* pBmpChecked);Associates the specified bitmap with a menu item.
BOOL SetMenuItemInfo(UINT uItem, LPMENUITEMINFO lpMenuItemInfo, BOOL fByPos = FALSE);Changes information about a menu item.
operator HMENU () const;Retrieves the menu's handle.
Remarks
CMenu objects can be used anywhere a a handle to a menu (HMENU) might be used. They can be substituted for the HMENU in any of the Windows API functions which use a HMENU as a function argument. The benefit of using a CMenu object is that it automatically deletes the menu when it is destroyed.
Summary Information
Header file | file.h |
Win32/64 support | Yes |
WinCE support | Yes |