当用户按住顶层工具栏按钮时显示的工具栏。
有关详细信息,请参阅所安装的 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 对象:

创建 CMFCDropDownToolBar 对象的方式与创建普通工具栏的方式相同(请参阅 CMFCToolBar 类)。
若要将下拉工具栏插入父级工具栏,请执行以下操作:
- 在父级工具栏资源中保留该按钮的虚拟资源 ID。 
- 创建包含下拉工具栏的 - CMFCDropDownToolBarButton对象(有关详细信息,请参阅 CMFCDropDownToolbarButton::CMFCDropDownToolbarButton)。
- 使用 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
}
继承层次结构
要求
标头: 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 类
演练:将控件置于工具栏上