Share via


CMFCPopupMenuBar 类

嵌入到弹出菜单的菜单栏。

语法

class CMFCPopupMenuBar : public CMFCToolBar

成员

公共方法

名称 描述
CMFCPopupMenuBar::AdjustSizeImmediate 立即重新计算窗格的布局。 (替代 CPane::AdjustSizeImmediate。)
CMFCPopupMenuBar::BuildOrigItems 从指定的菜单资源加载弹出菜单项。
CMFCPopupMenuBar::CloseDelayedSubMenu 关闭延迟的弹出菜单按钮。
CMFCPopupMenuBar::ExportToMenu 从弹出菜单按钮生成菜单。
CMFCPopupMenuBar::FindDestintationToolBar 找到指定点所在的工具栏。
CMFCPopupMenuBar::GetCurrentMenuImageSize 指示菜单按钮图像的大小。
CMFCPopupMenuBar::GetDefaultMenuId 返回默认菜单项的标识符。
CMFCPopupMenuBar::GetLastCommandIndex 获取最近调用的菜单命令的索引。
CMFCPopupMenuBar::GetOffset 获取弹出菜单栏的行偏移量。
CMFCPopupMenuBar::ImportFromMenu 从指定菜单中导入弹出菜单按钮。
CMFCPopupMenuBar::IsDropDownListMode 指示弹出菜单栏是否处于下拉列表模式。
CMFCPopupMenuBar::IsPaletteMode 指示弹出菜单栏是否处于调色板模式。
CMFCPopupMenuBar::IsRibbonPanel 指示这是否为功能区面板(默认为 FALSE)。
CMFCPopupMenuBar::IsRibbonPanelInRegularMode 指示这是否是常规模式下的功能区面板(默认为 FALSE)。
CMFCPopupMenuBar::LoadFromHash 加载已存档的菜单。
CMFCPopupMenuBar::RestoreDelayedSubMenu 还原延迟的菜单按钮以关闭弹出菜单栏。
CMFCPopupMenuBar::SetButtonStyle 设置给定索引处的工具栏按钮的样式。 (替代 CMFCToolBar::SetButtonStyle。)
CMFCPopupMenuBar::SetOffset 设置弹出菜单栏的行偏移量。
CMFCPopupMenuBar::StartPopupMenuTimer 启动指定的延迟弹出菜单按钮的计时器。

数据成员

名称 描述
CMFCPopupMenuBar::m_bDisableSideBarInXPMode 指定当应用程序具有 Windows XP 外观时是否显示灰色边栏。

注解

CMFCPopupMenuBarCMFCPopupMenu 类是同时创建的并嵌入其中。 CMFCPopupMenuBar 涵盖 CMFCPopupMenu 对象的整个工作区。 它支持键盘和鼠标输入。 它还将该输入传达给 CMFCPopupMenu 和顶级框架窗口。

示例

下面的示例演示如何从 CMFCPopupMenu 对象初始化 CMFCPopupMenuBar 对象。 此代码片段属于 Draw Client 示例

// CMFCPopupMenu* pMenuPopup
CMFCPopupMenuBar *pMenuBar = pMenuPopup->GetMenuBar();

继承层次结构

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCBaseToolBar

CMFCToolBar

CMFCPopupMenuBar

要求

标头:afxpopupmenubar.h

CMFCPopupMenuBar::AdjustSizeImmediate

立即重新计算弹出菜单栏窗格的布局。 (替代 CPane::AdjustSizeImmediate。)

virtual void AdjustSizeImmediate(BOOL bRecalcLayout);

参数

bRecalcLayout
[in] 若自动重新计算弹出菜单栏窗格的布局,则为 TRUE;否则为 FALSE。

备注

CMFCPopupMenuBar::BuildOrigItems

从指定的菜单资源加载弹出菜单项。

BOOL BuildOrigItems(UINT uiMenuResID);

参数

uiMenuResID
[in] 指定要加载的菜单资源的菜单 ID。

返回值

如果成功,则返回 TRUE;如果失败,则返回 FALSE。

备注

CMFCPopupMenuBar::CloseDelayedSubMenu

关闭已延迟的弹出菜单按钮。

virtual void CloseDelayedSubMenu();

备注

CMFCPopupMenuBar::ExportToMenu

从弹出菜单按钮生成菜单。

virtual HMENU ExportToMenu() const;

返回值

返回新菜单的句柄。

备注

CMFCPopupMenuBar::FindDestintationToolBar

找到指定点所在的工具栏。

CMFCToolBar* FindDestintationToolBar(CPoint point);

参数

point
[in] 屏幕上的点。

返回值

返回指向点所在的工具栏的句柄(如果有);如果没有,则返回 NULL。

注解

CMFCPopupMenuBar::GetCurrentMenuImageSize

指示菜单按钮图像的大小。

virtual CSize GetCurrentMenuImageSize() const;

返回值

返回工具栏中菜单按钮图像的大小。

注解

CMFCPopupMenuBar::GetDefaultMenuId

返回默认菜单项的标识符。

UINT GetDefaultMenuId() const;

返回值

返回弹出菜单栏中默认菜单项的标识符。

备注

CMFCPopupMenuBar::GetLastCommandIndex

获取最近调用的菜单命令的索引。

static int __stdcall GetLastCommandIndex();

返回值

返回已调用的最后一个菜单命令的索引。

注解

CMFCPopupMenuBar::GetOffset

获取弹出菜单栏的行偏移量。

int GetOffset() const;

返回值

返回弹出菜单栏的行偏移量。

备注

此值是使用 CMFCPopupMenuBar::SetOffset 设置的。

CMFCPopupMenuBar::ImportFromMenu

从指定菜单中导入弹出菜单按钮。

virtual BOOL ImportFromMenu(
    HMENU hMenu,
    BOOL bShowAllCommands = FALSE);

参数

hMenu
[in] 从中导入弹出菜单按钮的菜单。

bShowAllCommands
[in] 如果要导入菜单上的所有命令,则为 TRUE;如果可能隐藏很少使用的命令,则为 FALSE。

返回值

如果菜单按钮已成功从菜单中导入,则返回 TRUE;如果失败,则返回 FALSE。

注解

CMFCPopupMenuBar::IsDropDownListMode

指示弹出菜单栏是否处于下拉列表模式。

BOOL IsDropDownListMode() const;

返回值

如果弹出菜单栏处于下拉列表模式,则返回 TRUE;如果不是,则返回 FALSE。

备注

CMFCPopupMenuBar::IsPaletteMode

指示弹出菜单栏是否处于调色板模式。

BOOL IsPaletteMode() const;

返回值

如果启用了调色板模式,则返回 TRUE;如果未启用,则返回 FALSE。

备注

当菜单栏设置为调色板模式时,菜单项将显示在多个列和数量有限的行中。

CMFCPopupMenuBar::IsRibbonPanel

指示这是否为功能区面板(默认为 FALSE)。

virtual BOOL IsRibbonPanel() const;

返回值

默认返回 FALSE,指示这不是功能区面板。

注解

CMFCPopupMenuBar::IsRibbonPanelInRegularMode

指示这是否是常规模式下的功能区面板(默认为 FALSE)。

virtual BOOL IsRibbonPanelInRegularMode() const;

返回值

默认返回 FALSE,指示这不是常规模式下的功能区面板。

备注

CMFCPopupMenuBar::LoadFromHash

加载已存档的菜单。

BOOL LoadFromHash(HMENU hMenu);

参数

hMenu
[in] 要加载的已存档菜单的句柄。

返回值

如果菜单加载成功,则返回 TRUE;如果失败,则返回 FALSE。

注解

CMFCPopupMenuBar::m_bDisableSideBarInXPMode

一个布尔参数,指示应用程序在具有 Windows XP 外观时是否具有灰色边栏。

BOOL m_bDisableSideBarInXPMode;

备注

如果此成员变量设置为 FALSE,并且应用程序具有 Windows XP 外观,则框架将在应用程序中绘制一个灰色边栏。

默认值是 FALSE。

CMFCPopupMenuBar::RestoreDelayedSubMenu

还原延迟的菜单按钮以关闭弹出菜单栏。

virtual void RestoreDelayedSubMenu();

备注

CMFCPopupMenuBar::SetButtonStyle

设置给定索引处的工具栏按钮的样式。 (替代 CMFCToolBar::SetButtonStyle。)

virtual void SetButtonStyle(
    int nIndex,
    UINT nStyle);

参数

nIndex
[in] 要设置其样式的工具栏按钮的从零开始的索引。

nStyle
[in] 按钮的样式。 有关可用工具栏按钮样式的列表,请参阅工具栏控件样式

备注

CMFCPopupMenuBar::SetOffset

设置弹出菜单栏的行偏移量。

void SetOffset(int iOffset);

参数

iOffset
[in] 弹出菜单栏应偏移的行数。

注解

CMFCPopupMenuBar::StartPopupMenuTimer

启动指定的延迟弹出菜单按钮的计时器。

void StartPopupMenuTimer(
    CMFCToolBarMenuButton* pMenuButton,
    int nDelayFactor = 1);

参数

pMenuButton
[in] 指向要为其设置延迟计时器的菜单按钮的指针。

nDelayFactor
[in] 要乘以标准菜单延迟时间(通常在半秒到五秒之间)的延迟因子(至少等于 1)。

注解

另请参阅

层次结构图

CMFCColorBar 类
CMFCPopupMenu 类