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 | 设置是否自动销毁子下拉工具栏窗口。 |
注解
此类不可直接通过代码使用。
框架使用此类向 CMFCDropDownToolbar
和 CMFCDropDownToolbarButton
类提供框架行为。 有关这些类的详细信息,请参阅 CMFCDropDownToolBar 类 和 CMFCDropDownToolbarButton 类。
示例
以下示例演示如何从 CFrameWnd
类中检索指向 CMFCDropDownFrame
对象的指针,以及如何设置要自动销毁的子下拉工具栏窗口。
CFrameWnd *pTopFrame = AFXGetParentFrame(this);
if (pTopFrame == NULL)
{
return FALSE;
}
CMFCDropDownFrame *pDropFrame = DYNAMIC_DOWNCAST(CMFCDropDownFrame, pTopFrame);
pDropFrame->SetAutoDestroy(true);
继承层次结构
要求
标头: 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。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈