Compartilhar via


CMFCMenuBar Class

 

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at CMFCMenuBar Class.

A menu bar that implements docking.

Syntax

class CMFCMenuBar : public CMFCToolbar  

Members

Public Methods

Name Description
CMFCMenuBar::AdjustLocations (Overrides CMFCToolBar::AdjustLocations.)
CMFCMenuBar::AllowChangeTextLabels Specifies whether text labels can be shown under images on the toolbar buttons. (Overrides CMFCToolBar::AllowChangeTextLabels.)
CMFCMenuBar::AllowShowOnPaneMenu (Overrides CPane::AllowShowOnPaneMenu.)
CMFCMenuBar::CalcFixedLayout Calculates the horizontal size of the toolbar. (Overrides CMFCToolBar::CalcFixedLayout.)
CMFCMenuBar::CalcLayout (Overrides CMFCToolBar::CalcLayout.)
CMFCMenuBar::CalcMaxButtonHeight Calculates the maximum height of buttons in the toolbar. (Overrides CMFCToolBar::CalcMaxButtonHeight.)
CMFCMenuBar::CanBeClosed Specifies whether a user can close the toolbar. (Overrides CMFCToolBar::CanBeClosed.)
CMFCMenuBar::CanBeRestored Determines whether the system can restore a toolbar to its original state after customization. (Overrides CMFCToolBar::CanBeRestored.)
CMFCMenuBar::Create Creates a menu control and attaches it to a CMFCMenuBar object.
CMFCMenuBar::CreateEx Creates a CMFCMenuBar object with additional style options.
CMFCMenuBar::CreateFromMenu Initializes a CMFCMenuBar object. Accepts a HMENU parameter that acts as a template for a populated CMFCMenuBar.
CMFCMenuBar::EnableHelpCombobox Enables a Help combo box that is located on the right side of the menu bar.
CMFCMenuBar::EnableMenuShadows Specifies whether to display shadows for pop-up menus.
CMFCMenuBar::GetAvailableExpandSize (Overrides CPane::GetAvailableExpandSize.)
CMFCMenuBar::GetColumnWidth Returns the width of the toolbar buttons. (Overrides CMFCToolBar::GetColumnWidth.)
CMFCMenuBar::GetDefaultMenu Returns a handle to the original menu in the resource file.
CMFCMenuBar::GetDefaultMenuResId Returns the resource identifier for the original menu in the resource file.
CMFCMenuBar::GetFloatPopupDirection
CMFCMenuBar::GetForceDownArrows
CMFCMenuBar::GetHelpCombobox Returns a pointer to the Help combo box.
CMFCMenuBar::GetHMenu Returns the handle to the menu that is attached to the CMFCMenuBar object.
CMFCMenuBar::GetMenuFont Returns the current global font for menu objects.
CMFCMenuBar::GetMenuItem Returns the toolbar button associated with the provided item index.
CMFCMenuBar::GetRowHeight Returns the height of toolbar buttons. (Overrides CMFCToolBar::GetRowHeight.)
CMFCMenuBar::GetSystemButton
CMFCMenuBar::GetSystemButtonsCount
CMFCMenuBar::GetSystemMenu
CMFCMenuBar::HighlightDisabledItems Indicates whether disabled menu items are highlighted.
CMFCMenuBar::IsButtonExtraSizeAvailable Determines whether the toolbar can display buttons that have extended borders. (Overrides CMFCToolBar::IsButtonExtraSizeAvailable.)
CMFCMenuBar::IsHighlightDisabledItems Indicates whether disabled items are highlighted.
CMFCMenuBar::IsMenuShadows Indicates whether shadows are drawn for pop-up menus.
CMFCMenuBar::IsRecentlyUsedMenus Indicates whether recently used menu commands are displayed on the menu bar.
CMFCMenuBar::IsShowAllCommands Indicates whether pop-up menus display all commands.
CMFCMenuBar::IsShowAllCommandsDelay Indicates whether menus display all the commands after a short delay.
CMFCMenuBar::LoadState Loads the state of the CMFCMenuBar object from the registry.
CMFCMenuBar::OnChangeHot Called by the framework when a user selects a button on the toolbar. (Overrides CMFCToolBar::OnChangeHot.)
CMFCMenuBar::OnDefaultMenuLoaded Called by the framework when a frame window loads the default menu from the resource file.
CMFCMenuBar::OnSendCommand (Overrides CMFCToolBar::OnSendCommand.)
CMFCMenuBar::OnSetDefaultButtonText Called by the framework when a menu is in customization mode and the user changes a menu item's text.
CMFCMenuBar::OnToolHitTest (Overrides CMFCToolBar::OnToolHitTest.)
CMFCMenuBar::PreTranslateMessage (Overrides CMFCToolBar::PreTranslateMessage.)
CMFCMenuBar::RestoreOriginalstate Called by the framework when a menu is in customization mode and the user selects Reset for a menu bar.
CMFCMenuBar::SaveState Saves the state of the CMFCMenuBar object to the registry.
CMFCMenuBar::SetDefaultMenuResId Sets the original menu in the resource file.
CMFCMenuBar::SetForceDownArrows
CMFCMenuBar::SetMaximizeMode Called by the framework when an MDI child window changes its display mode. If the MDI child window is newly maximized or is no longer maximized, this method updates the menu bar.
CMFCMenuBar::SetMenuButtonRTC Sets the runtime class information that is generated when the user dynamically creates menu buttons.
CMFCMenuBar::SetMenuFont Sets the font for all menus in the application.
CMFCMenuBar::SetRecentlyUsedMenus Specifies whether a menu bar displays recently used menu commands.
CMFCMenuBar::SetShowAllCommands Specifies whether the menu bar shows all commands.

Remarks

The CMFCMenuBar class is a menu bar that implements docking functionality. It resembles a toolbar, although it cannot be closed - it is always displayed.

CMFCMenuBar supports the option of displaying recently used menu item objects. If this option is enabled, the CMFCMenuBar displays only a subset of the available commands on first viewing. Thereafter, recently used commands are displayed together with the original subset of commands. In addition, the user can always expand the menu to view all available commands. Thus, each available command is configured to display constantly, or to display only if it has been recently selected.

To use a CMFCMenuBar object, embed it in the main window frame object. When processing the WM_CREATE message, call CMFCMenuBar::Create or CMFCMenuBar::CreateEx. Regardless of which create function you use, pass in a pointer to the main frame window. Then enable docking by calling CFrameWndEx::EnableDocking. Dock this menu by calling CFrameWndEx::DockPane.

Example

The following example demonstrates how to use various methods in the CMFCMenuBar class. The example shows how to set the style of the pane, enable the customize button, enable a Help box, enable shadows for pop-up menus, and update the menu bar. This code snippet is part of the IE Demo sample.

    CMFCMenuBar m_wndMenuBar;
 m_wndMenuBar.SetPaneStyle(m_wndMenuBar.GetPaneStyle() | CBRS_SIZE_DYNAMIC);
    m_wndMenuBar.EnableCustomizeButton (TRUE, -1, _T(""));
    // first parameter is the command ID for the button of the Help combo box
    // third parameter is the width of the button for the combo box in pixels.
    m_wndMenuBar.EnableHelpCombobox(1,_T("enter text here"),30);
    m_wndMenuBar.EnableMenuShadows();
    m_wndMenuBar.SetMaximizeMode(true);

Inheritance Hierarchy

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCBaseToolBar

CMFCToolBar

CMFCMenuBar

Requirements

Header: afxmenubar.h

CMFCMenuBar::AdjustLocations

Adjusts the positions of the menu items on the menu bar.

virtual void AdjustLocations();

Remarks

CMFCMenuBar::AllowChangeTextLabels

Determines whether text labels are allowed under images in the menu bar.

virtual BOOL AllowChangeTextLabels() const;  

Return Value

Returns TRUE if the user can choose to show text labels under images.

Remarks

CMFCMenuBar::AllowShowOnPaneMenu

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual BOOL AllowShowOnPaneMenu() const;  

Return Value

Remarks

CMFCMenuBar::CalcFixedLayout

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual CSize CalcFixedLayout(
    BOOL bStretch,  
    BOOL bHorz);

Parameters

[in] bStretch
[in] bHorz

Return Value

Remarks

CMFCMenuBar::CalcLayout

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual CSize CalcLayout(
    DWORD dwMode,  
    int nLength = -1);

Parameters

[in] dwMode
[in] nLength

Return Value

Remarks

CMFCMenuBar::CalcMaxButtonHeight

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual int CalcMaxButtonHeight();

Return Value

Remarks

CMFCMenuBar::CanBeClosed

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual BOOL CanBeClosed() const;  

Return Value

Remarks

CMFCMenuBar::CanBeRestored

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual BOOL CanBeRestored() const;  

Return Value

Remarks

CMFCMenuBar::Create

Creates a menu control and attaches it to a CMFCMenuBar object.

virtual BOOL Create(
    CWnd* pParentWnd,  
    DWORD dwStyle = AFX_DEFAULT_TOOLBAR_STYLE,  
    UINT nID = AFX_IDW_MENUBAR);

Parameters

[in] pParentWnd
Pointer to the parent window for the new CMFCMenuBar object.

[in] dwStyle
The style of the new menu bar.

[in] nID
The ID for the child window of the menu bar.

Return Value

TRUE if successful; otherwise FALSE.

Remarks

After you construct a CMFCMenuBar object, you must call Create. This method creates the CMFCMenuBar control and attaches it to the CMFCMenuBar object.

For more information about toolbar styles, see CBasePane::SetPaneStyle.

CMFCMenuBar::CreateEx

Creates a CMFCMenuBar object with specified extended styles.

virtual BOOL CreateEx(
    CWnd* pParentWnd,  
    DWORD dwCtrlStyle = TBSTYLE_FLAT,  
    DWORD dwStyle = AFX_DEFAULT_TOOLBAR_STYLE,  
    CRect rcBorders = CRect(1,
    1,
    1,
    1),  
    UINT nID =AFX_IDW_MENUBAR);

Parameters

[in] pParentWnd
Pointer to the parent window of the new CMFCMenuBar object.

[in] dwCtrlStyle
Additional styles for the new menu bar.

[in] dwStyle
The main style of the new menu bar.

[in] rcBorders
A CRect parameter that specifies the sizes for the borders of the CMFCMenuBar object.

[in] nID
The ID for the child window of the menu bar.

Return Value

Nonzero if the method is successful; otherwise 0.

Remarks

You should use this function instead of CMFCMenuBar::Create when you want to specify styles in addition to the toolbar style. Some frequently used additional styles are TBSTYLE_TRANSPARENT and CBRS_TOP.

For lists of additional styles, see Toolbar Control and Button Styles, common control styles, and common window styles.

Example

The following example demonstrates how to use the CreateEx method of the CMFCMenuBar class. This code snippet is part of the IE Demo sample.

   CMFCMenuBar m_wndMenuBar;
 // The this pointer points to CMainFrame class which extends the CFrameWnd class.
    if (!m_wndMenuBar.CreateEx (this, TBSTYLE_TRANSPARENT))
    {
        TRACE0("Failed to create menubar\n");
        return -1;      // fail to create
    }

CMFCMenuBar::CreateFromMenu

Initializes a CMFCMenuBar object. This method models the CMFCMenuBar object after a HMENU parameter.

virtual void CreateFromMenu(
    HMENU hMenu,  
    BOOL bDefaultMenu = FALSE,  
    BOOL bForceUpdate = FALSE);

Parameters

[in] hMenu
A handle to a menu resource. CreateFromMenu uses this resource as a template for the CMFCMenuBar.

[in] bDefaultMenu
A Boolean that indicates whether the new menu is the default menu.

[in] bForceUpdate
A Boolean that indicates whether this method forces a menu update.

Remarks

Use this method if you want a menu control to have the same menu items as a menu resource. You call this method after you call either CMFCMenuBar::Create or CMFCMenuBar::CreateEx.

CMFCMenuBar::EnableHelpCombobox

Enables a Help combo box that is located on the right side of the menu bar.

void EnableHelpCombobox(
    UINT uiID,  
    LPCTSTR lpszPrompt = NULL,  
    int nComboBoxWidth = 150);

Parameters

[in] uiID
The command ID for the button of the Help combo box.

[in] lpszPrompt
A string that contains the text that the framework displays in the combo box if it is empty and not active. For example, "Enter the text here".

[in] nComboBoxWidth
The width of the button for the combo box in pixels.

Remarks

The Help combo box resembles the Help combo box in the menu bar of Microsoft Word.

When you call this method with uiID set to 0, this method hides the combo box. Otherwise, this method displays the combo box automatically on the right side of your menu bar. After you call this method, call CMFCMenuBar::GetHelpCombobox to obtain a pointer to the inserted CMFCToolBarComboBoxButton object.

CMFCMenuBar::EnableMenuShadows

Enables shadows for pop-up menus.

static void EnableMenuShadows(BOOL bEnable = TRUE);

Parameters

[in] bEnable
A Boolean parameter that indicates whether shadows should be enabled for pop-up menus.

Remarks

The algorithm that this method uses is complex and may decrease the performance of your application on slower systems.

CMFCMenuBar::GetAvailableExpandSize

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual int GetAvailableExpandSize() const;  

Return Value

Remarks

CMFCMenuBar::GetColumnWidth

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual int GetColumnWidth() const;  

Return Value

Remarks

CMFCMenuBar::GetDefaultMenu

Retrieves a handle to the original menu. The framework loads the original menu from the resource file.

HMENU GetDefaultMenu() const;  

Return Value

A handle to a menu resource.

Remarks

If your application customizes a menu, you can use this method to retrieve a handle to the original menu.

CMFCMenuBar::GetDefaultMenuResId

Retrieves the resource identifier for the default menu.

UINT GetDefaultMenuResId() const;  

Return Value

A menu resource identifier.

Remarks

The framework loads the default menu for the CMFCMenuBar object from the resource file.

CMFCMenuBar::GetFloatPopupDirection

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

int GetFloatPopupDirection(CMFCToolBarMenuButton* pButton);

Parameters

[in] pButton

Return Value

Remarks

CMFCMenuBar::GetForceDownArrows

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

BOOL GetForceDownArrows();

Return Value

Remarks

CMFCMenuBar::GetHelpCombobox

Returns a pointer to the Help combo box.

CMFCToolBarComboBoxButton* GetHelpCombobox();

Return Value

A pointer to the Help combo box. NULL if the Help combo box is hidden or not enabled.

Remarks

The Help combo box is located on the right side of the menu bar. Call the method CMFCMenuBar::EnableHelpCombobox to enable this combo box.

CMFCMenuBar::GetHMenu

Retrieves the handle to the menu attached to the CMFCMenuBar object.

HMENU GetHMenu() const;  

CMFCMenuBar::GetMenuFont

Retrieves the current menu font.

static const CFont& GetMenuFont(BOOL bHorz = TRUE);

Parameters

[in] bHorz
A Boolean parameter that specifies whether to return the horizontal or vertical font. TRUE indicates the horizontal font.

Return Value

A pointer to a CFont parameter that contains the current menu bar font.

Remarks

The returned font is a global parameter for the application. Two global fonts are maintained for all CMFCMenuBar objects. These separate fonts are used for horizontal and vertical menu bars.

CMFCMenuBar::GetMenuItem

Retrieves a CMFCToolBarButton object on a menu bar based on the item index.

CMFCToolBarButton* GetMenuItem(int iItem) const;  

Parameters

[in] iItem
The index of the menu item to return.

Return Value

A pointer to the CMFCToolBarButton object that matches the index specified by iItem. NULL if the index is invalid.

CMFCMenuBar::GetRowHeight

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual int GetRowHeight() const;  

Return Value

Remarks

CMFCMenuBar::GetSystemButton

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

CMFCToolBarMenuButtonsButton* GetSystemButton(
    UINT uiBtn,  
    BOOL bByCommand = TRUE) const;  

Parameters

[in] uiBtn
[in] bByCommand

Return Value

Remarks

CMFCMenuBar::GetSystemButtonsCount

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

int GetSystemButtonsCount() const;  

Return Value

Remarks

CMFCMenuBar::GetSystemMenu

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

CMFCToolBarSystemMenuButton* GetSystemMenu() const;  

Return Value

Remarks

CMFCMenuBar::HighlightDisabledItems

Controls whether the framework highlights disabled menu items.

static void HighlightDisabledItems(BOOL bHighlight = TRUE);

Parameters

[in] bHighlight
A Boolean parameter that indicates whether the framework highlights unavailable menu items.

Remarks

By default, the framework does not highlight unavailable menu items when the user positions the mouse pointer over them.

CMFCMenuBar::IsButtonExtraSizeAvailable

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual BOOL IsButtonExtraSizeAvailable() const;  

Return Value

Remarks

CMFCMenuBar::IsHighlightDisabledItems

Indicates whether the framework highlights unavailable menu items.

static BOOL IsHighlightDisabledItems();

Return Value

TRUE if unavailable menu items are highlighted; otherwise FALSE.

Remarks

By default, the framework does not highlight unavailable menu items when the user positions the mouse pointer over them. Use the CMFCMenuBar::HighlightDisabledItems method to enable this feature.

CMFCMenuBar::IsMenuShadows

Indicates whether the framework draws shadows for pop-up menus.

static BOOL IsMenuShadows();

Return Value

TRUE if the framework draws menu shadows; otherwise FALSE.

Remarks

Use the CMFCMenuBar::EnableMenuShadows method to enable or disable this feature.

CMFCMenuBar::IsRecentlyUsedMenus

Indicates whether recently used menu commands are displayed on the menu bar.

static BOOL IsRecentlyUsedMenus();

Return Value

Nonzero if the CMFCMenuBar object shows recently used menu commands; otherwise 0.

Remarks

Use the function CMFCMenuBar::SetRecentlyUsedMenus to control whether the menu bar shows recently used menu commands.

CMFCMenuBar::IsShowAllCommands

Indicates whether menus display all commands.

static BOOL IsShowAllCommands();

Return Value

Nonzero if the CMFCMenuBar displays all commands; otherwise 0.

Remarks

A CMFCMenuBar object can be configured to either show all commands or show only a subset of commands. For more information about this feature, see CMFCMenuBar Class.

IsShowAllCommands will tell you how this feature is configured for the CMFCMenuBar object. To control which menu commands are shown, use the methods CMFCMenuBar::SetShowAllCommands and CMFCMenuBar::SetRecentlyUsedMenus.

CMFCMenuBar::IsShowAllCommandsDelay

Indicates whether the CMFCMenuBar object displays all the commands after a short delay.

static BOOL IsShowAllCommandsDelay();

Return Value

Nonzero if the menu bar displays full menus after a short delay; otherwise 0.

Remarks

When you configure a menu bar to display recently used items, the menu bar displays the full menu in one of two ways:

  • Display the full menu after a programmed delay from when the user hovers the cursor over the arrow at the bottom of the menu.

  • Display the full menu after the user clicks the arrow at the bottom of the menu.

By default, all CMFCMenuBar objects use the option to display the full menu after a short delay. This option cannot be changed programmatically in the CMFCMenuBar class. However, a user can change the behavior during toolbar customization by using the Customize dialog box..

CMFCMenuBar::LoadState

Loads the state of the menu bar from the Windows registry.

virtual BOOL LoadState(
    LPCTSTR lpszProfileName=NULL,  
    int nIndex=-1,  
    UINT uiID=(UINT)-1);

Parameters

[in] lpszProfileName
A string that contains the path of a Windows registry key.

[in] nIndex
The control ID for the menu bar.

[in] uiID
A reserved value.

Return Value

TRUE if the method was successful; otherwise FALSE.

Remarks

Use the CMFCMenuBar::SaveState method to save the state of the menu bar to the registry. The saved information includes the menu items, the dock state, and the position of the menu bar.

In most cases your application does not call LoadState. The framework calls this method when it initializes the workspace.

CMFCMenuBar::OnChangeHot

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual void OnChangeHot(int iHot);

Parameters

[in] iHot

Remarks

CMFCMenuBar::OnDefaultMenuLoaded

The framework calls this method when it loads the menu resource from the resource file.

virtual void OnDefaultMenuLoaded(HMENU hMenu);

Parameters

[in] hMenu
The handle for the menu attached to the CMFCMenuBar object.

Remarks

The default implementation of this function does nothing. Override this function to execute custom code after the framework loads a menu resource from the resource file.

CMFCMenuBar::OnSendCommand

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual BOOL OnSendCommand(const CMFCToolBarButton* pButton);

Parameters

[in] pButton

Return Value

Remarks

CMFCMenuBar::OnSetDefaultButtonText

The framework calls this method when the user changes the text of an item on the menu bar.

virtual BOOL OnSetDefaultButtonText(CMFCToolBarButton* pButton);

Parameters

[in] pButton
A pointer to the CMFCToolBarButton object that the user wants to customize.

Return Value

TRUE if the framework applies the user changes to the menu bar; otherwise FALSE.

Remarks

The default implementation for this method changes the text of the button to the text that the user provides.

CMFCMenuBar::OnToolHitTest

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual INT_PTR OnToolHitTest(
    CPoint point,  
    TOOLINFO* pTI) const;  

Parameters

[in] point
[in] pTI

Return Value

Remarks

CMFCMenuBar::PreTranslateMessage

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

virtual BOOL PreTranslateMessage(MSG* pMsg);

Parameters

[in] pMsg

Return Value

Remarks

CMFCMenuBar::RestoreOriginalstate

Called by the framework when the user selects Reset from the Customize dialog box.

virtual BOOL RestoreOriginalstate();

Return Value

Nonzero if the method is successful; otherwise 0.

Remarks

This method is called when the user selects Reset from the customization menu. You can also manually call this method to programmatically reset the state of the menu bar. This method loads the original state from the resource file.

Override this method if you want to do any processing when the user selects the Reset option.

CMFCMenuBar::SaveState

Saves the state of the CMFCMenuBar object to the Windows registry.

virtual BOOL SaveState(
    LPCTSTR lpszProfileName=NULL,  
    int nIndex=-1,  
    UINT uiID=(UINT)-1);

Parameters

[in] lpszProfileName
A string that contains the path of a Windows registry key.

[in] nIndex
The control ID for the menu bar.

[in] uiID
A reserved value.

Return Value

TRUE if successful; otherwise FALSE;

Remarks

Usually, your application does not call SaveState. The framework calls this method when the workspace is serialized. For more information, see CWinAppEx::SaveState.

The saved information includes the menu items, the dock state, and the position of the menu bar.

CMFCMenuBar::SetDefaultMenuResId

Sets the default menu for a CMFCMenuBar object based on the resource ID.

void SetDefaultMenuResId(UINT uiResId);

Parameters

[in] uiResId
The resource ID for the new default menu.

Remarks

The CMFCMenuBar::RestoreOriginalstate method restores the default menu from the resource file.

Use the CMFCMenuBar::GetDefaultMenuResId method to retrieve the default menu without restoring it.

CMFCMenuBar::SetForceDownArrows

This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

void SetForceDownArrows(BOOL bValue);

Parameters

[in] bValue

Remarks

CMFCMenuBar::SetMaximizeMode

The framework calls this method when a MDI changes its display mode and the menu bar must be updated.

void SetMaximizeMode(
    BOOL bMax,  
    CWnd* pWnd = NULL,  
    BOOL bRecalcLayout = TRUE);

Parameters

[in] bMax
A Boolean that specifies the mode. See the Remarks section for more information.

[in] pWnd
A pointer to the MDI child window that is changing.

[in] bRecalcLayout
A Boolean that specifies whether the layout of the menu bar should be recalculated immediately.

Remarks

When an MDI child window is maximized, a menu bar attached to the MDI main frame window displays the system menu and the Minimize, Maximize and Close buttons. If bMax is TRUE and pWnd is not NULL, the MDI child window is maximized and the menu bar must incorporate the extra controls. Otherwise, the menu bar returns to its regular state.

CMFCMenuBar::SetMenuButtonRTC

Sets the runtime class information that the framework uses when the user creates menu buttons.

void SetMenuButtonRTC(CRuntimeClass* pMenuButtonRTC);

Parameters

[in] pMenuButtonRTC
The CRuntimeClass information for a class derived from the CMFCMenuButton Class.

Remarks

When a user adds new buttons to the menu bar, the framework creates the buttons dynamically. By default, it creates CMFCMenuButton objects. Override this method to change the type of button objects that the framework creates.

CMFCMenuBar::SetMenuFont

Sets the font for all menu bars in your application.

static BOOL SetMenuFont(
    LPLOGFONT lpLogFont,  
    BOOL bHorz = TRUE);

Parameters

[in] lpLogFont
A pointer to a LOGFONT structure that defines the font to set.

[in] bHorz
TRUE if you want the lpLogFont parameter to be used for the vertical font, FALSE if you want it to be used for horizontal font.

Return Value

TRUE if the method was successful; otherwise FALSE.

Remarks

Two fonts are used for all CMFCMenuBar objects. These separate fonts are used for horizontal and vertical menu bars.

The font settings are global variables and affect all CMFCMenuBar objects.

CMFCMenuBar::SetRecentlyUsedMenus

Controls whether a menu bar displays recently used menu commands.

static void SetRecentlyUsedMenus (BOOL bOn = TRUE);

Parameters

[in] bOn
A Boolean that controls whether recently used menu commands are displayed.

CMFCMenuBar::SetShowAllCommands

Controls whether a menu shows all the available commands.

static void SetShowAllCommands(BOOL bShowAllCommands = TRUE);

Parameters

[in] bShowAllCommands
A Boolean parameter that specifies whether the pop-up menu shows all the menu commands.

Remarks

If a menu does not display all the menu commands, it hides the commands that are rarely used. For more information about displaying menu commands, see CMFCMenuBar Class.

See Also

Hierarchy Chart
Classes
CMFCToolBar Class