Export (0) Print
Expand All
15 out of 17 rated this helpful - Rate this topic

Menus

This section describes menus and explains how to use them.

In This Section

NameDescription
About Menus

Discusses menus.

Using Menus

Provides code examples of tasks related to menus.

Menu Reference

Contains the API reference.

 

Menu Functions

NameDescription
AppendMenu

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.

CheckMenuItem

Sets the state of the specified menu item's check-mark attribute to either selected or clear.

CheckMenuRadioItem

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.

CreateMenu

Creates a menu. The menu is initially empty, but it can be filled with menu items by using the InsertMenuItem, AppendMenu, and InsertMenu functions.

CreatePopupMenu

Creates a drop-down menu, submenu, or shortcut menu. The menu is initially empty. You can insert or append menu items by using the InsertMenuItem function. You can also use the InsertMenu function to insert menu items and the AppendMenu function to append menu items.

DeleteMenu

Deletes an item from the specified menu. If the menu item opens a menu or submenu, this function destroys the handle to the menu or submenu and frees the memory used by the menu or submenu.

DestroyMenu

Destroys the specified menu and frees any memory that the menu occupies.

DrawMenuBar

Redraws the menu bar of the specified window. If the menu bar changes after the system has created the window, this function must be called to draw the changed menu bar.

EnableMenuItem

Enables, disables, or grays the specified menu item.

EndMenu

Ends the calling thread's active menu.

GetMenu

Retrieves a handle to the menu assigned to the specified window.

GetMenuBarInfo

Retrieves information about the specified menu bar.

GetMenuCheckMarkDimensions

Retrieves the dimensions of the default check-mark bitmap. The system displays this bitmap next to selected menu items. Before calling the SetMenuItemBitmaps function to replace the default check-mark bitmap for a menu item, an application must determine the correct bitmap size by calling GetMenuCheckMarkDimensions.

GetMenuDefaultItem

Determines the default menu item on the specified menu.

GetMenuInfo

Retrieves information about a specified menu.

GetMenuItemCount

Retrieves the number of items in the specified menu.

GetMenuItemID

Retrieves the menu item identifier of a menu item located at the specified position in a menu.

GetMenuItemInfo

Retrieves information about a menu item.

GetMenuItemRect

Retrieves the bounding rectangle for the specified menu item.

GetMenuState

Retrieves the menu flags associated with the specified menu item. If the menu item opens a submenu, this function also returns the number of items in the submenu.

GetMenuString

Copies the text string of the specified menu item into the specified buffer.

GetSubMenu

Retrieves a handle to the drop-down menu or submenu activated by the specified menu item.

GetSystemMenu

Enables the application to access the window menu (also known as the system menu or the control menu) for copying and modifying.

HiliteMenuItem

Highlights or removes the highlighting from an item in a menu bar.

InsertMenuItem

Inserts a new menu item at the specified position in a menu.

IsMenu

Determines whether a handle is a menu handle.

LoadMenu

Loads the specified menu resource from the executable (.exe) file associated with an application instance.

LoadMenuIndirect

Loads the specified menu template in memory.

MenuItemFromPoint

Determines which menu item, if any, is at the specified location.

ModifyMenu

Changes an existing menu item. This function is used to specify the content, appearance, and behavior of the menu item.

RemoveMenu

Deletes a menu item or detaches a submenu from the specified menu. If the menu item opens a drop-down menu or submenu, RemoveMenu does not destroy the menu or its handle, allowing the menu to be reused. Before this function is called, the GetSubMenu function should retrieve a handle to the drop-down menu or submenu.

SetMenu

Assigns a new menu to the specified window.

SetMenuDefaultItem

Sets the default menu item for the specified menu.

SetMenuInfo

Sets information for a specified menu.

SetMenuItemBitmaps

Associates the specified bitmap with a menu item. Whether the menu item is selected or clear, the system displays the appropriate bitmap next to the menu item.

SetMenuItemInfo

Changes information about a menu item.

TrackPopupMenu

Displays a shortcut menu at the specified location and tracks the selection of items on the menu. The shortcut menu can appear anywhere on the screen.

TrackPopupMenuEx

Displays a shortcut menu at the specified location and tracks the selection of items on the shortcut menu. The shortcut menu can appear anywhere on the screen.

 

The following function is obsolete.

NameDescription
InsertMenu

Inserts a new menu item into a menu, moving other items down the menu.

Note  The InsertMenu function has been superseded by the InsertMenuItem function. You can still use InsertMenu, however, if you do not need any of the extended features of InsertMenuItem.

 

Menu Notifications

NameDescription
WM_COMMAND

Sent when the user selects a command item from a menu, when a control sends a notification message to its parent window, or when an accelerator keystroke is translated.

WM_CONTEXTMENU

Informs a window that the user clicked the right mouse button (right-clicked) in the window.

WM_ENTERMENULOOP

Informs an application's main window procedure that a menu modal loop has been entered.

WM_EXITMENULOOP

Informs an application's main window procedure that a menu modal loop has been exited.

WM_GETTITLEBARINFOEX

Sent to request extended title bar information. A window receives this message through its WindowProc function.

WM_MENUCOMMAND

Sent when the user makes a selection from a menu.

WM_MENUDRAG

Sent to the owner of a drag-and-drop menu when the user drags a menu item.

WM_MENUGETOBJECT

Sent to the owner of a drag-and-drop menu when the mouse cursor enters a menu item or moves from the center of the item to the top or bottom of the item.

WM_MENURBUTTONUP

Sent when the user releases the right mouse button while the cursor is on a menu item.

WM_NEXTMENU

Sent to an application when the right or left arrow key is used to switch between the menu bar and the system menu.

WM_UNINITMENUPOPUP

Sent when a drop-down menu or submenu has been destroyed.

 

Menu Structures

NameDescription
MDINEXTMENU

Contains information about the menu to be activated.

MENUBARINFO

Contains menu bar information.

MENUEX_TEMPLATE_HEADER

Defines the header for an extended menu template. This structure definition is for explanation only; it is not present in any standard header file.

MENUEX_TEMPLATE_ITEM

Defines a menu item in an extended menu template. This structure definition is for explanation only; it is not present in any standard header file.

MENUGETOBJECTINFO

Contains information about the menu that the mouse cursor is on.

MENUINFO

Contains information about a menu.

MENUITEMINFO

Contains information about a menu item.

MENUITEMTEMPLATE

Defines a menu item in a menu template.

MENUITEMTEMPLATEHEADER

Defines the header for a menu template. A complete menu template consists of a header and one or more menu item lists.

TPMPARAMS

Contains extended parameters for the TrackPopupMenuEx function.

 

 

 

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.