CMFCDropDownToolBar 类

当用户按住顶层工具栏按钮时显示的工具栏。

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

语法

class CMFCDropDownToolBar : public CMFCToolBar

成员

公共方法

名称 描述
CMFCDropDownToolBar::AllowShowOnPaneMenu (替代 CPane::AllowShowOnPaneMenu。)
CMFCDropDownToolBar::LoadBitmap (重写 CMFCToolBar::LoadBitmap。)
CMFCDropDownToolBar::LoadToolBar (重写 CMFCToolBar::LoadToolBar。)
CMFCDropDownToolBar::OnLButtonUp
CMFCDropDownToolBar::OnMouseMove
CMFCDropDownToolBar::OnSendCommand (替代 CMFCToolBar::OnSendCommand。)
CMFCDropDownToolBar::OnUpdateCmdUI (重写 CMFCToolBar::OnUpdateCmdUI

备注

CMFCDropDownToolBar 对象将工具栏的视觉外观与弹出菜单的行为组合在一起。 当用户按住下拉工具栏按钮(请参阅 CMFCDropDownToolbarButton 类)时,将显示下拉工具栏,用户可以通过滚动到一个按钮并释放鼠标按钮来从下拉工具栏中选择该按钮。 用户选择下拉工具栏中的按钮后,该按钮会显示为顶级工具栏上的当前按钮。

下拉工具栏无法自定义或停靠,并且它没有分离状态。

下图展示了 CMFCDropDownToolBar 对象:

Example of CMFCDropDownToolbar.

创建 CMFCDropDownToolBar 对象的方式与创建普通工具栏的方式相同(请参阅 CMFCToolBar 类)。

若要将下拉工具栏插入父级工具栏,请执行以下操作:

  1. 在父级工具栏资源中保留该按钮的虚拟资源 ID。

  2. 创建包含下拉工具栏的 CMFCDropDownToolBarButton 对象(有关详细信息,请参阅 CMFCDropDownToolbarButton::CMFCDropDownToolbarButton)。

  3. 使用 CMFCToolBar::ReplaceButton 将虚拟按钮替换为 CMFCDropDownToolBarButton 对象。

有关工具栏按钮的详细信息,请参阅演练:将控件放在工具栏上。 有关下拉工具栏的示例,请参阅示例项目 VisualStudioDemo。

示例

以下示例演示了如何在 CMFCDropDownToolBar 类中使用 Create 方法。 此代码片段是 Visual Studio 演示示例的一部分。

CMFCDropDownToolBar m_wndToolbarResource;
// Create Resource toolbar:
// The this pointer points to CMainFrame class which extends the CMDIFrameWndEx class
if (!m_wndToolbarResource.Create(this, WS_CHILD | CBRS_TOP | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_HIDE_INPLACE | CBRS_SIZE_DYNAMIC | CBRS_GRIPPER | CBRS_BORDER_3D, IDR_TOOLBAR_RESOURCE) || !m_wndToolbarResource.LoadToolBar(IDR_TOOLBAR_RESOURCE))
{
   TRACE0("Failed to create build toolbar\n");
   return FALSE;      // fail to create
}

继承层次结构

CObject

CCmdTarget

CWnd

CBasePane

CPane

CMFCBaseToolBar

CMFCToolBar

CMFCDropDownToolBar

要求

标头: afxdropdowntoolbar.h

CMFCDropDownToolBar::AllowShowOnPaneMenu

virtual BOOL AllowShowOnPaneMenu() const;

返回值

注解

CMFCDropDownToolBar::LoadBitmap

从应用程序资源加载工具栏图像。

virtual BOOL LoadBitmap(
    UINT uiResID,
    UINT uiColdResID=0,
    UINT uiMenuResID=0,
    BOOL bLocked=FALSE,
    UINT uiDisabledResID=0,
    UINT uiMenuDisabledResID=0);

参数

uiResID
[in] 用于引用热工具栏图像的位图的资源 ID。

uiColdResID
[in] 用于引用冷工具栏图像的位图的资源 ID。

uiMenuResID
[in] 用于引用常规菜单图像的位图的资源 ID。

bLocked
[in] 如果锁定工具栏,则为 TRUE;否则为 FALSE。

uiDisabledResID
[in] 用于引用禁用工具栏图像的位图的资源 ID。

uiMenuDisabledResID
[in] 用于引用禁用菜单图像的位图的资源 ID。

返回值

如果该方法成功,则为非零;否则为零。

注解

CMFCToolBar::LoadToolBarEx 方法调用此方法以加载与工具栏关联的图像。 重写此方法以执行图像资源的自定义加载。

调用 LoadBitmapEx 方法以在创建工具栏后加载其他图像。

CMFCDropDownToolBar::LoadToolBar

virtual BOOL LoadToolBar(
    UINT uiResID,
    UINT uiColdResID = 0,
    UINT uiMenuResID = 0,
    BOOL = FALSE,
    UINT uiDisabledResID = 0,
    UINT uiMenuDisabledResID = 0,
    UINT uiHotResID = 0);

参数

[in] uiResID

[in] uiColdResID

[in] uiMenuResID

[in] BOOL

[in] uiDisabledResID

[in] uiMenuDisabledResID

[in] uiHotResID

返回值

注解

CMFCDropDownToolBar::OnLButtonUp

afx_msg void OnLButtonUp(
    UINT nFlags,
    CPoint point);

参数

[in] nFlags

[in] point

备注

CMFCDropDownToolBar::OnMouseMove

afx_msg void OnMouseMove(
    UINT nFlags,
    CPoint point);

参数

[in] nFlags

[in] point

备注

CMFCDropDownToolBar::OnSendCommand

virtual BOOL OnSendCommand(const CMFCToolBarButton* pButton);

参数

[in] pButton

返回值

注解

CMFCDropDownToolBar::OnUpdateCmdUI

virtual void OnUpdateCmdUI(
    CFrameWnd* pTarget,
    BOOL bDisableIfNoHndler);

参数

[in] pTarget

[in] bDisableIfNoHndler

注解

另请参阅

层次结构图

CMFCToolBar 类
CMFCToolBar::Create
CMFCToolBar::ReplaceButton
CMFCDropDownToolbarButton 类
演练:将控件置于工具栏上