CMFCDropDownFrame Class
The latest version of this topic can be found at CMFCDropDownFrame Class.
Provides drop-down frame window functionality to drop-down toolbars and drop-down toolbar buttons.
Syntax
class CMFCDropDownFrame : public CMiniFrameWnd
Members
Public Constructors
Name | Description |
CMFCDropDownFrame::CMFCDropDownFrame |
Default constructor. |
CMFCDropDownFrame::~CMFCDropDownFrame |
Destructor. |
Public Methods
Name | Description |
CMFCDropDownFrame::Create | Creates a CMFCDropDownFrame object. |
CMFCDropDownFrame::CreateObject |
Used by the framework to create a dynamic instance of this class type. |
CMFCDropDownFrame::GetParentMenuBar | Retrieves the parent menu bar of the drop-down frame. |
CMFCDropDownFrame::GetParentPopupMenu | Retrieves the parent pop-up menu of the drop-down frame. |
CMFCDropDownFrame::GetThisClass |
Used by the framework to obtain a pointer to the CRuntimeClass object that is associated with this class type. |
CMFCDropDownFrame::RecalcLayout | Repositions the drop-down frame. |
CMFCDropDownFrame::SetAutoDestroy | Sets whether the child drop-down toolbar window is destroyed automatically. |
Remarks
This class is not intended to be used directly from your code.
The framework uses this class to provide frame behavior to the CMFCDropDownToolbar
and CMFCDropDownToolbarButton
classes. For more information about these classes, see CMFCDropDownToolBar Class and CMFCDropDownToolbarButton Class.
Example
The following example demonstrates how to retrieve a pointer to a CMFCDropDownFrame
object from a CFrameWnd
class, and how to set the child drop-down toolbar window to be destroyed automatically.
CFrameWnd* pTopFrame = AFXGetParentFrame(this);
if (pTopFrame == NULL)
{
return FALSE;
}
CMFCDropDownFrame* pDropFrame = DYNAMIC_DOWNCAST(CMFCDropDownFrame, pTopFrame);
pDropFrame->SetAutoDestroy(true);
Inheritance Hierarchy
Requirements
Header: afxdropdowntoolbar.h
CMFCDropDownFrame::Create
Creates a CMFCDropDownFrame
object.
virtual BOOL Create(
CWnd* pWndParent,
int x,
int y,
CMFCDropDownToolBar* pWndOriginToolbar);
Parameters
Parameter | Description |
[in] pWndParent |
The parent window of the drop-down frame. |
[in] x |
The horizontal screen coordinate for the location of the down-down frame. |
[in] y |
The vertical screen coordinate for the location of the down-down frame. |
[in] pWndOriginToolbar |
The toolbar that has the drop-down buttons that this method uses to populate the new drop-down frame object. |
Return Value
TRUE
if the drop-down frame was successfully created; otherwise FALSE
.
Remarks
This method calls the base CMiniFrameWnd::CreateEx method to create the drop-down frame window with the WS_POPUP
style. The drop-down frame window appears at the specified screen coordinates. This method fails if the CMiniFrameWnd::CreateEx method returns FALSE
.
The CMFCDropDownFrame
class creates a copy of the provided CMFCDropDownToolBar
parameter. This method copies the button images and button states from the pWndOriginToolbar
parameter to the m_pWndOriginToolbar
data member.
CMFCDropDownFrame::GetParentMenuBar
Retrieves the parent menu bar of the drop-down frame.
CMFCMenuBar* GetParentMenuBar() const;
Return Value
A pointer to the parent menu bar of the drop-down frame, or NULL
if the frame has no parent.
Remarks
This method retrieves the parent menu bar from the parent button. This method returns NULL
if the drop-down frame has no parent button or the parent button has no parent menu bar.
CMFCDropDownFrame::GetParentPopupMenu
Retrieves the parent pop-up menu of the drop-down frame.
CMFCDropDownFrame* GetParentPopupMenu() const;
Return Value
A pointer to the parent drop-down menu of the drop-down frame, or NULL
if the frame has no parent.
Remarks
This method retrieves the parent menu from the parent button. This method returns NULL
if the drop-down frame has no parent button or the parent button has no parent menu.
CMFCDropDownFrame::RecalcLayout
Repositions the drop-down frame.
virtual void RecalcLayout(BOOL bNotify = TRUE);
Parameters
Parameter | Description |
[in] bNotify |
Unused. |
Remarks
The framework calls this method when the drop-down frame is created or the parent window is resized. This method calculates the position and size of the drop-down frame by using the position and size of the parent window.
CMFCDropDownFrame::SetAutoDestroy
Sets whether the child drop-down toolbar window is destroyed automatically.
void SetAutoDestroy(BOOL bAutoDestroy = TRUE);
Parameters
[in] bAutoDestroy
TRUE
to automatically destroy the associated drop-down toolbar window; otherwise, FALSE
.
Remarks
If bAutoDestroy
is TRUE
, then the CMFCDropDownFrame
destructor destroys the associated drop-down toolbar window. The default value is TRUE
.
See Also
Hierarchy Chart
Classes
CMFCDropDownToolBar Class
CMFCDropDownToolbarButton Class