CMFCDropDownFrame 类

提供下拉框窗口功能,用于下拉工具栏和下拉工具栏按钮。

语法

class CMFCDropDownFrame : public CMiniFrameWnd

成员

公共构造函数

名称 描述
CMFCDropDownFrame::CMFCDropDownFrame 默认构造函数。
CMFCDropDownFrame::~CMFCDropDownFrame 析构函数。

公共方法

名称 描述
CMFCDropDownFrame::Create 创建一个 CMFCDropDownFrame 对象。
CMFCDropDownFrame::CreateObject 由框架用于创建此类类型的动态实例。
CMFCDropDownFrame::GetParentMenuBar 检索下拉框的父菜单栏。
CMFCDropDownFrame::GetParentPopupMenu 检索下拉框的父弹出菜单。
CMFCDropDownFrame::GetThisClass 由框架用于获取指向与此类类型关联的 CRuntimeClass 对象的指针。
CMFCDropDownFrame::RecalcLayout 重新定位下拉框。
CMFCDropDownFrame::SetAutoDestroy 设置是否自动销毁子下拉工具栏窗口。

注解

此类不可直接通过代码使用。

框架使用此类向 CMFCDropDownToolbarCMFCDropDownToolbarButton 类提供框架行为。 有关这些类的详细信息,请参阅 CMFCDropDownToolBar 类CMFCDropDownToolbarButton 类

示例

以下示例演示如何从 CFrameWnd 类中检索指向 CMFCDropDownFrame 对象的指针,以及如何设置要自动销毁的子下拉工具栏窗口。

CFrameWnd *pTopFrame = AFXGetParentFrame(this);
if (pTopFrame == NULL)
{
   return FALSE;
}

CMFCDropDownFrame *pDropFrame = DYNAMIC_DOWNCAST(CMFCDropDownFrame, pTopFrame);
pDropFrame->SetAutoDestroy(true);

继承层次结构

CObject

CCmdTarget

CWnd

CFrameWnd

CMiniFrameWnd

CMFCDropDownFrame

要求

标头: afxdropdowntoolbar.h

CMFCDropDownFrame::Create

创建一个 CMFCDropDownFrame 对象。

virtual BOOL Create(
    CWnd* pWndParent,
    int x,
    int y,
    CMFCDropDownToolBar* pWndOriginToolbar);

参数

pWndParent
[in] 下拉框架的父窗口。

x
[in] 下拉框架位置的水平屏幕坐标。

y
[in] 下拉框架位置的垂直屏幕坐标。

pWndOriginToolbar
[in] 具有下拉按钮的工具栏,其中此方法用于填充新下拉框架对象。

返回值

如果成功创建下拉框架,则为 TRUE;否则为 FALSE。

备注

此方法调用基本 CMiniFrameWnd::CreateEx 方法,以使用WS_POPUP 样式创建下拉框窗口。 下拉框窗口显示在指定的屏幕坐标处。 如果 CMiniFrameWnd::CreateEx 方法返回 FALSE,此方法将失败。

CMFCDropDownFrame 类创建提供的 CMFCDropDownToolBar 参数的副本。 此方法将按钮图像和按钮状态从 pWndOriginToolbar 参数复制到 m_pWndOriginToolbar 数据成员。

CMFCDropDownFrame::GetParentMenuBar

检索下拉框的父菜单栏。

CMFCMenuBar* GetParentMenuBar() const;

返回值

指向下拉框的父菜单栏的指针,如果框架没有父级,则为 NULL。

备注

此方法从父按钮检索父菜单栏。 如果下拉框没有父按钮或父按钮没有父菜单栏,则此方法返回 NULL。

CMFCDropDownFrame::GetParentPopupMenu

检索下拉框的父弹出菜单。

CMFCDropDownFrame* GetParentPopupMenu() const;

返回值

指向下拉框的父下拉菜单的指针,如果框架没有父级,则为 NULL。

备注

此方法从父按钮检索父菜单栏。 如果下拉框没有父按钮或父按钮没有父菜单栏,则此方法返回 NULL。

CMFCDropDownFrame::RecalcLayout

重新定位下拉框。

virtual void RecalcLayout(BOOL bNotify = TRUE);

参数

bNotify
[in] 未使用。

备注

创建下拉框或调整父窗口的大小时,框架将调用此方法。 此方法使用父窗口的位置和大小计算下拉框的位置和大小。

CMFCDropDownFrame::SetAutoDestroy

设置是否自动销毁子下拉工具栏窗口。

void SetAutoDestroy(BOOL bAutoDestroy = TRUE);

参数

bAutoDestroy
[in] 如果可自动销毁关联的下拉工具栏窗口,则为 TRUE;否则为 FALSE。

注解

如果 bAutoDestroy 为 TRUE,则 CMFCDropDownFrame 析构函数将销毁关联的下拉工具栏窗口。 默认值为 TRUE。

另请参阅

层次结构图

CMFCDropDownToolBar 类
CMFCDropDownToolbarButton 类