CMFCMenuBar 类

实现停靠的菜单栏。 有关详细信息,请参阅所安装的 Visual Studio 的 C\atlmfc\src\mfc 文件夹中的源代码。

语法

class CMFCMenuBar : public CMFCToolbar

成员

公共方法

名称 描述
CMFCMenuBar::AdjustLocations (替代 CMFCToolBar::AdjustLocations。)
CMFCMenuBar::AllowChangeTextLabels 指定是否可以在工具栏按钮上的图像下显示文本标签。 (替代 CMFCToolBar::AllowChangeTextLabels。)
CMFCMenuBar::AllowShowOnPaneMenu (替代 CPane::AllowShowOnPaneMenu。)
CMFCMenuBar::CalcFixedLayout 计算工具栏的水平大小。 (替代 CMFCToolBar::CalcFixedLayout。)
CMFCMenuBar::CalcLayout (替代 CMFCToolBar::CalcLayout。)
CMFCMenuBar::CalcMaxButtonHeight 计算工具栏中的按钮的最大高度。 (替代 CMFCToolBar::CalcMaxButtonHeight。)
CMFCMenuBar::CanBeClosed 指定用户是否可以关闭工具栏。 (替代 CMFCToolBar::CanBeClosed。)
CMFCMenuBar::CanBeRestored 确定系统是否可以在自定义后将工具栏还原到其原始状态。 (替代 CMFCToolBar::CanBeRestored。)
CMFCMenuBar::Create 创建菜单控件并将其附加到 CMFCMenuBar 对象。
CMFCMenuBar::CreateEx 创建具有其他样式选项的 CMFCMenuBar 对象。
CMFCMenuBar::CreateFromMenu 初始化 CMFCMenuBar 对象。 接受充当填充 CMFCMenuBar 的模板的 HMENU 参数。
CMFCMenuBar::EnableHelpCombobox 启用位于菜单栏右侧的“帮助”组合框
CMFCMenuBar::EnableMenuShadows 指定是否显示弹出菜单的阴影。
CMFCMenuBar::GetAvailableExpandSize (替代 CPane::GetAvailableExpandSize。)
CMFCMenuBar::GetColumnWidth 返回工具栏按钮的宽度。 (替代 CMFCToolBar::GetColumnWidth。)
CMFCMenuBar::GetDefaultMenu 返回资源文件中原始菜单的句柄。
CMFCMenuBar::GetDefaultMenuResId 返回资源文件中原始菜单的资源标识符。
CMFCMenuBar::GetFloatPopupDirection
CMFCMenuBar::GetForceDownArrows
CMFCMenuBar::GetHelpCombobox 返回指向“帮助”组合框的指针
CMFCMenuBar::GetHMenu 返回指向附加到 CMFCMenuBar 对象的菜单的句柄。
CMFCMenuBar::GetMenuFont 返回菜单对象的当前全局字体。
CMFCMenuBar::GetMenuItem 返回与提供的项索引关联的工具栏按钮。
CMFCMenuBar::GetRowHeight 返回工具栏按钮的高度。 (替代 CMFCToolBar::GetRowHeight。)
CMFCMenuBar::GetSystemButton
CMFCMenuBar::GetSystemButtonsCount
CMFCMenuBar::GetSystemMenu
CMFCMenuBar::HighlightDisabledItems 指示是否突出显示禁用的菜单项。
CMFCMenuBar::IsButtonExtraSizeAvailable 确定工具栏是否可以显示具有扩展边框的按钮。 (替代 CMFCToolBar::IsButtonExtraSizeAvailable。)
CMFCMenuBar::IsHighlightDisabledItems 指示是否突出显示禁用的项。
CMFCMenuBar::IsMenuShadows 指示是否为弹出菜单绘制阴影。
CMFCMenuBar::IsRecentlyUsedMenus 指示是否在菜单栏上显示最近使用的菜单命令。
CMFCMenuBar::IsShowAllCommands 指示弹出菜单是否显示所有命令。
CMFCMenuBar::IsShowAllCommandsDelay 指示菜单是否在短暂延迟后显示所有命令。
CMFCMenuBar::LoadState 从注册表加载 CMFCMenuBar 对象的状态。
CMFCMenuBar::OnChangeHot 当用户在工具栏上选择按钮时由框架调用。 (替代 CMFCToolBar::OnChangeHot
CMFCMenuBar::OnDefaultMenuLoaded 由框架在框架窗口从资源文件加载默认菜单时调用。
CMFCMenuBar::OnSendCommand (替代 CMFCToolBar::OnSendCommand。)
CMFCMenuBar::OnSetDefaultButtonText 当菜单处于自定义模式并且用户更改菜单项的文本时,由框架调用。
CMFCMenuBar::OnToolHitTest (替代 CMFCToolBar::OnToolHitTest。)
CMFCMenuBar::PreTranslateMessage (替代 CMFCToolBar::PreTranslateMessage。)
CMFCMenuBar::RestoreOriginalstate 当菜单处于自定义模式且用户为菜单栏选择“重置”时,由框架调用
CMFCMenuBar::SaveState CMFCMenuBar 对象的状态保存到注册表。
CMFCMenuBar::SetDefaultMenuResId 设置资源文件中的原始菜单。
CMFCMenuBar::SetForceDownArrows
CMFCMenuBar::SetMaximizeMode 当 MDI 子窗口更改其显示模式时,由框架调用。 如果 MDI 子窗口刚被最大化或不再最大化,此方法将更新菜单栏。
CMFCMenuBar::SetMenuButtonRTC 设置当用户动态创建菜单按钮时生成的运行时类信息。
CMFCMenuBar::SetMenuFont 设置应用程序中所有菜单的字体。
CMFCMenuBar::SetRecentlyUsedMenus 指定菜单栏是否显示最近使用的菜单命令。
CMFCMenuBar::SetShowAllCommands 指定菜单栏是否显示所有命令。

备注

CMFCMenuBar 类是实现停靠功能的菜单栏。 这类似于工具栏,不过它无法关闭,始终处于显示状态。

CMFCMenuBar 支持显示最近使用的菜单项对象的选项。 如果启用此选项,则 CMFCMenuBar 在首次查看时仅显示一部分可用命令。 此后会显示最近使用的命令以及最初的那部分命令。 此外,用户始终可以展开菜单以查看所有可用的命令。 所以每个可用命令都被配置为始终显示或仅在最近选择时显示。

若要使用 CMFCMenuBar 对象,请将其嵌入主窗口框架对象。 处理 WM_CREATE 消息时,请调用 CMFCMenuBar::CreateCMFCMenuBar::CreateEx 方法。 无论使用哪个创建函数,都传入指向主框架窗口的指针。 然后通过调用 CFrameWndEx::EnableDocking 来实现停靠功能。 通过调用 CFrameWndEx::DockPane 来停靠此菜单。

示例

下面的示例演示了如何使用 CMFCMenuBar 类中的各种方法。 该示例演示如何设置窗格的样式、启用自定义按钮、启用“帮助”框、为弹出菜单启用阴影以及更新菜单栏。 此代码片段是 IE 演示示例的一部分。

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);

继承层次结构

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCBaseToolBar

CMFCToolBar

CMFCMenuBar

要求

标头:afxmenubar.h

CMFCMenuBar::AdjustLocations

调整菜单栏上菜单项的位置。

virtual void AdjustLocations();

备注

CMFCMenuBar::AllowChangeTextLabels

确定是否允许在菜单栏中的图像下显示文本标签。

virtual BOOL AllowChangeTextLabels() const;

返回值

如果用户可以选择在图像下显示文本标签,则返回 TRUE。

备注

CMFCMenuBar::AllowShowOnPaneMenu

virtual BOOL AllowShowOnPaneMenu() const;

返回值

备注

CMFCMenuBar::CalcFixedLayout

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

参数

[in] bStretch

[in] bHorz

返回值

注解

CMFCMenuBar::CalcLayout

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

参数

[in] dwMode

[in] nLength

返回值

备注

CMFCMenuBar::CalcMaxButtonHeight

virtual int CalcMaxButtonHeight();

返回值

备注

CMFCMenuBar::CanBeClosed

virtual BOOL CanBeClosed() const;

返回值

备注

CMFCMenuBar::CanBeRestored

virtual BOOL CanBeRestored() const;

返回值

备注

CMFCMenuBar::Create

创建菜单控件并将其附加到 CMFCMenuBar 对象。

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

参数

pParentWnd
[in] 指向新的 CMFCMenuBar 对象的父窗口的指针。

dwStyle
[in] 新菜单栏的样式。

nID
[in] 菜单栏的子窗口 ID。

返回值

若成功,则为 TRUE;否则为 FALSE。

注解

构造 CMFCMenuBar 对象后,必须调用 Create。 该方法创建 CMFCMenuBar 控件并将其附加到 CMFCMenuBar 对象。

若要详细了解工具栏样式,请参阅 CBasePane::SetPaneStyle

CMFCMenuBar::CreateEx

创建具有指定扩展样式的 CMFCMenuBar 对象。

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);

参数

pParentWnd
[in] 指向新的 CMFCMenuBar 对象的父窗口的指针。

dwCtrlStyle
[in] 新菜单栏的其他样式。

dwStyle
[in] 新菜单栏的主样式。

rcBorders
[in] CRect 参数,用于指定 CMFCMenuBar 对象的边框大小。

nID
[in] 菜单栏的子窗口 ID。

返回值

如果此方法成功,返回值为非零;否则返回值是 0。

备注

若想指定除工具栏样式之外的样式,应使用此函数而不是 CMFCMenuBar::Create。 一些经常使用的其他样式有 TBSTYLE_TRANSPARENT 和 CBRS_TOP。

有关其他样式的列表,请参阅工具栏控件和按钮样式常用控件样式常见窗口样式

示例

下面的示例演示如何使用 CMFCMenuBar 类的 CreateEx 方法。 此代码片段是 IE 演示示例的一部分。

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

初始化 CMFCMenuBar 对象。 此方法在 HMENU 参数后对 CMFCMenuBar 对象进行建模。

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

参数

hMenu
[in] 菜单资源的句柄。 CreateFromMenu 将此资源用作 CMFCMenuBar 的模板。

bDefaultMenu
[in] 一个布尔值,指示新菜单是否为默认菜单。

bForceUpdate
[in] 一个布尔值,指示此方法是否强制更新菜单。

备注

如果希望菜单控件具有与菜单资源相同的菜单项,请使用此方法。 可在调用 CMFCMenuBar::CreateCMFCMenuBar::CreateEx 之后调用该方法。

CMFCMenuBar::EnableHelpCombobox

启用位于菜单栏右侧的“帮助”组合框

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

参数

uiID
[in] “帮助”组合框按钮的命令 ID

lpszPrompt
[in] 一个字符串,其中包含框架在组合框中显示的文本(如果组合框为空且不处于活动状态)。 例如“在此处输入文本”。

nComboBoxWidth
[in] 组合框的按钮的宽度(以像素为单位)。

备注

“帮助”组合框类似于 Microsoft Word 菜单栏中的“帮助”组合框

若在 uiID 设置为 0 时调用此方法,此方法将隐藏组合框。 否则,此方法会在菜单栏右侧自动显示组合框。 调用该方法后,请调用 CMFCMenuBar::GetHelpCombobox 以获取指向 CMFCToolBarComboBoxButton 对象的指针。

CMFCMenuBar::EnableMenuShadows

为弹出菜单启用阴影。

static void EnableMenuShadows(BOOL bEnable = TRUE);

参数

bEnable
[in] 一个布尔参数,指示是否应为弹出菜单启用阴影。

注解

此方法使用的算法很复杂,可能会降低应用程序在较慢系统上的性能。

CMFCMenuBar::GetAvailableExpandSize

virtual int GetAvailableExpandSize() const;

返回值

注解

CMFCMenuBar::GetColumnWidth

virtual int GetColumnWidth() const;

返回值

注解

CMFCMenuBar::GetDefaultMenu

检索原始菜单的句柄。 框架从资源文件加载原始菜单。

HMENU GetDefaultMenu() const;

返回值

菜单资源的句柄。

备注

如果应用程序自定义菜单,则可以使用此方法检索原始菜单的句柄。

CMFCMenuBar::GetDefaultMenuResId

检索默认菜单的资源标识符。

UINT GetDefaultMenuResId() const;

返回值

菜单资源标识符。

注解

框架从资源文件加载 CMFCMenuBar 对象的默认菜单。

CMFCMenuBar::GetFloatPopupDirection

int GetFloatPopupDirection(CMFCToolBarMenuButton* pButton);

参数

[in] pButton

返回值

注解

CMFCMenuBar::GetForceDownArrows

BOOL GetForceDownArrows();

返回值

备注

CMFCMenuBar::GetHelpCombobox

返回指向“帮助”组合框的指针

CMFCToolBarComboBoxButton* GetHelpCombobox();

返回值

指向“帮助”组合框的指针。 如果隐藏或未启用“帮助”组合框,则返回 NULL

备注

位于菜单栏右侧的“帮助”组合框。 调用方法 CMFCMenuBar::EnableHelpCombobox 以启用此组合框。

CMFCMenuBar::GetHMenu

检索附加到 CMFCMenuBar 对象的菜单的句柄。

HMENU GetHMenu() const;

CMFCMenuBar::GetMenuFont

检索当前菜单字体。

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

参数

bHorz
[in] 一个布尔参数,指定是返回水平字体还是垂直字体。 TRUE 表示水平字体。

返回值

指向包含当前菜单栏字体的 CFont 参数的指针。

注解

返回的字体是应用程序的全局参数。 所有 CMFCMenuBar 对象都保留两种全局字体。 这些单独的字体用于水平菜单栏和垂直菜单栏。

CMFCMenuBar::GetMenuItem

基于项索引检索菜单栏上的 CMFCToolBarButton 对象。

CMFCToolBarButton* GetMenuItem(int iItem) const;

参数

iItem
[in] 要返回的菜单项的索引。

返回值

一个指针,指向与 iItem 指定的索引匹配的 CMFCToolBarButton 对象。 如果索引无效,则返回 NULL。

CMFCMenuBar::GetRowHeight

virtual int GetRowHeight() const;

返回值

备注

CMFCMenuBar::GetSystemButton

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

参数

[in] uiBtn

[in] bByCommand

返回值

注解

CMFCMenuBar::GetSystemButtonsCount

int GetSystemButtonsCount() const;

返回值

注解

CMFCMenuBar::GetSystemMenu

CMFCToolBarSystemMenuButton* GetSystemMenu() const;

返回值

备注

CMFCMenuBar::HighlightDisabledItems

控制框架是否突出显示禁用的菜单项。

static void HighlightDisabledItems(BOOL bHighlight = TRUE);

参数

bHighlight
[in] 一个布尔参数,指示框架是否突出显示不可用的菜单项。

备注

默认情况下,当用户将鼠标指针放在它们上方时,框架不会突出显示不可用的菜单项。

CMFCMenuBar::IsButtonExtraSizeAvailable

virtual BOOL IsButtonExtraSizeAvailable() const;

返回值

注解

CMFCMenuBar::IsHighlightDisabledItems

指示框架是否突出显示不可用的菜单项。

static BOOL IsHighlightDisabledItems();

返回值

如果突出显示不可用的菜单项,则为 TRUE;否则为 FALSE。

注解

默认情况下,当用户将鼠标指针放在它们上方时,框架不会突出显示不可用的菜单项。 使用 CMFCMenuBar::HighlightDisabledItems 方法启用该功能。

CMFCMenuBar::IsMenuShadows

指示框架是否为弹出菜单绘制阴影。

static BOOL IsMenuShadows();

返回值

如果框架绘制菜单阴影,则为 TRUE;否则为 FALSE。

备注

使用 CMFCMenuBar::EnableMenuShadows 方法启用或禁用此功能。

CMFCMenuBar::IsRecentlyUsedMenus

指示是否在菜单栏上显示最近使用的菜单命令。

static BOOL IsRecentlyUsedMenus();

返回值

如果 CMFCMenuBar 对象显示最近使用的菜单命令,则为非零值;否则为 0。

备注

使用函数 CMFCMenuBar::SetRecentlyUsedMenus 控制菜单栏是否显示最近使用的菜单命令。

CMFCMenuBar::IsShowAllCommands

指示菜单是否显示所有命令。

static BOOL IsShowAllCommands();

返回值

如果 CMFCMenuBar 显示所有命令,则为非零值;否则为 0。

备注

可将 CMFCMenuBar 对象配置为显示所有命令或仅显示一部分命令。 若要详细了解该功能,请参阅 CMFCMenuBar 类

IsShowAllCommands 将介绍该功能是如何为 CMFCMenuBar 对象配置的。 若要控制显示哪些菜单命令,请使用 CMFCMenuBar::SetShowAllCommandsCMFCMenuBar::SetRecentlyUsedMenus 方法。

CMFCMenuBar::IsShowAllCommandsDelay

指示 CMFCMenuBar 对象是否在短暂的延迟后显示所有命令。

static BOOL IsShowAllCommandsDelay();

返回值

如果菜单栏在短暂的延迟后显示完整菜单,则为非零值;否则为 0。

备注

将菜单栏配置为显示最近使用的项目时,菜单栏可通过以下两种方式之一显示完整菜单:

  • 当用户将光标悬停在菜单底部的箭头上时,在经过编程设定的延迟时间之后显示完整菜单。

  • 用户单击菜单底部的箭头后显示完整菜单。

默认情况下,所有 CMFCMenuBar 对象都使用该选项在短暂的延迟后显示完整菜单。 无法在 CMFCMenuBar 类中以编程方式更改此选项。 但是,用户可以使用“自定义”对话框在工具栏自定义期间更改行为

CMFCMenuBar::LoadState

从 Windows 注册表加载菜单栏的状态。

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

参数

lpszProfileName
[in] 包含 Windows 注册表项路径的字符串。

nIndex
[in] 菜单栏的控件 ID。

uiID
[in] 保留值。

返回值

如果此方法成功,则为 TRUE;否则为 FALSE。

备注

使用 CMFCMenuBar::SaveState 方法将菜单栏的状态保存到注册表。 保存的信息包括菜单项、停靠状态和菜单栏的位置。

在大多数情况下,应用程序不会调用 LoadState。 框架在初始化工作区时调用此方法。

CMFCMenuBar::OnChangeHot

virtual void OnChangeHot(int iHot);

参数

[in] iHot

备注

CMFCMenuBar::OnDefaultMenuLoaded

在从资源文件加载菜单资源时,由框架调用此方法。

virtual void OnDefaultMenuLoaded(HMENU hMenu);

参数

hMenu
[in] 附加到 CMFCMenuBar 对象的菜单的句柄。

备注

此函数的默认实现不执行任何操作。 替代此函数以在框架从资源文件加载菜单资源后执行自定义代码。

CMFCMenuBar::OnSendCommand

virtual BOOL OnSendCommand(const CMFCToolBarButton* pButton);

参数

[in] pButton

返回值

注解

CMFCMenuBar::OnSetDefaultButtonText

当用户更改菜单栏上项的文本时,由框架调用此方法。

virtual BOOL OnSetDefaultButtonText(CMFCToolBarButton* pButton);

参数

pButton
[in] 指向用户想要自定义的 CMFCToolBarButton 对象的指针。

返回值

如果框架将用户更改应用于菜单栏,则返回 TRUE;否则为 FALSE。

备注

此方法的默认实现将按钮的文本更改为用户提供的文本。

CMFCMenuBar::OnToolHitTest

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

参数

[in] point

[in] pTI

返回值

备注

CMFCMenuBar::PreTranslateMessage

virtual BOOL PreTranslateMessage(MSG* pMsg);

参数

[in] pMsg

返回值

备注

CMFCMenuBar::RestoreOriginalstate

当用户从“自定义”对话框中选择“重置”时,由框架调用

virtual BOOL RestoreOriginalstate();

返回值

如果此方法成功,返回值为非零;否则返回值是 0。

备注

在用户从自定义菜单中选择“重置”时调用此方法。 还可以手动调用此方法,以编程方式重置菜单栏的状态。 该方法从资源文件加载原始状态。

若要在用户选择“重置”选项时进行任何处理,请替代该方法

CMFCMenuBar::SaveState

CMFCMenuBar 对象的状态保存到 Windows 注册表。

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

参数

lpszProfileName
[in] 包含 Windows 注册表项路径的字符串。

nIndex
[in] 菜单栏的控件 ID。

uiID
[in] 保留值。

返回值

若成功,则为 TRUE;否则为 FALSE;

备注

通常应用程序不会调用 SaveState。 框架在初始化工作区时调用此方法。 有关详细信息,请参阅 CWinAppEx::SaveState

保存的信息包括菜单项、停靠状态和菜单栏的位置。

CMFCMenuBar::SetDefaultMenuResId

根据资源 ID 设置 CMFCMenuBar 对象的默认菜单。

void SetDefaultMenuResId(UINT uiResId);

参数

uiResId
[in] 新默认菜单的资源 ID。

备注

CMFCMenuBar::RestoreOriginalstate 方法从资源文件还原默认菜单。

使用 CMFCMenuBar::GetDefaultMenuResId 方法检索默认菜单,而无需还原它。

CMFCMenuBar::SetForceDownArrows

void SetForceDownArrows(BOOL bValue);

参数

[in] bValue

注解

CMFCMenuBar::SetMaximizeMode

当 MDI 更改其显示模式并且必须更新菜单栏时,框架将调用此方法。

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

参数

bMax
[in] 用于指定模式的布尔值。 有关详细信息,请参阅备注部分。

pWnd
[in] 指向正在更改的 MDI 子窗口的指针。

bRecalcLayout
[in] 一个布尔值,指定是否应立即重新计算菜单栏的布局。

备注

当 MDI 子窗口最大化时,附加到 MDI 主框架窗口的菜单栏将显示系统菜单以及“最小化”、“最大化”和“关闭”按钮。 如果 bMax 为 TRUE 且 pWnd 不为 NULL,则 MDI 子窗口最大化,并且菜单栏必须合并额外的控件。 否则菜单栏将返回到其常规状态。

CMFCMenuBar::SetMenuButtonRTC

设置当用户创建菜单按钮时框架使用的运行时类信息。

void SetMenuButtonRTC(CRuntimeClass* pMenuButtonRTC);

参数

pMenuButtonRTC
[in] 从 CMFCMenuButton 类派生的类的 CRuntimeClass 信息。

注解

当用户向菜单栏添加新按钮时,框架会动态创建按钮。 默认情况下会创建 CMFCMenuButton 对象。 替代此方法以更改框架创建的按钮对象的类型。

CMFCMenuBar::SetMenuFont

设置应用程序中所有菜单栏的字体。

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

参数

lpLogFont
[in] 指向用于定义要设置的字体的 LOGFONT 结构的指针。

bHorz
[in] 若想将 lpLogFont 参数用于垂直字体,则为 TRUE;若想将其用于水平字体,则为 FALSE。

返回值

如果此方法成功,则为 TRUE;否则为 FALSE。

注解

两种字体用于所有 CMFCMenuBar 对象。 这些单独的字体用于水平菜单栏和垂直菜单栏。

字体设置是全局变量,会影响所有 CMFCMenuBar 对象。

CMFCMenuBar::SetRecentlyUsedMenus

指定菜单栏是否显示最近使用的菜单命令。

static void SetRecentlyUsedMenus (BOOL bOn = TRUE);

参数

bOn
[in] 一个布尔值,用于控制是否显示最近使用的菜单命令。

CMFCMenuBar::SetShowAllCommands

控制菜单是否显示所有可用的命令。

static void SetShowAllCommands(BOOL bShowAllCommands = TRUE);

参数

bShowAllCommands
[in] 一个布尔参数,指定弹出菜单是否显示所有菜单命令。

备注

如果菜单不显示所有菜单命令,将隐藏很少使用的命令。 有关显示菜单命令的详细信息,请参阅 CMFCMenuBar 类

另请参阅

层次结构图

CMFCToolBar 类