CMFCAutoHideBar Class
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at CMFCAutoHideBar Class.
The CMFCAutoHideBar
class is a special toolbar class that implements the auto-hide feature.
Syntax
class CMFCAutoHideBar : public CPane
Members
Public Constructors
Name | Description |
---|---|
CMFCAutoHideBar::CMFCAutoHideBar |
Public Methods
Name | Description |
---|---|
CMFCAutoHideBar::AddAutoHideWindow | |
CMFCAutoHideBar::AllowShowOnPaneMenu | (Overrides CPane::AllowShowOnPaneMenu .) |
CMFCAutoHideBar::CalcFixedLayout | (Overrides CBasePane::CalcFixedLayout.) |
CMFCAutoHideBar::Create | Creates a control bar and attaches it to the CPane object. (Overrides CPane::Create.) |
CMFCAutoHideBar::GetFirstAHWindow | |
CMFCAutoHideBar::GetVisibleCount | |
CMFCAutoHideBar::OnShowControlBarMenu | Called by the framework when a special pane menu is about to be displayed. (Overrides CPane::OnShowControlBarMenu.) |
CMFCAutoHideBar::RemoveAutoHideWindow | |
CMFCAutoHideBar::SetActiveInGroup | (Overrides CPane::SetActiveInGroup.) |
CMFCAutoHideBar::SetRecentVisibleState | |
CMFCAutoHideBar::ShowAutoHideWindow | |
CMFCAutoHideBar::StretchPane | Stretches a pane vertically or horizontally. (Overrides CBasePane::StretchPane.) |
CMFCAutoHideBar::UnSetAutoHideMode | |
CMFCAutoHideBar::UpdateVisibleState |
Data Members
Name | Description |
---|---|
CMFCAutoHideBar::m_nShowAHWndDelay | The time delay between the moment when the user places the mouse cursor over a CMFCAutoHideButton Class and the moment when the framework shows the associated window. |
Remarks
When the user switches a dock pane to auto-hide mode, the framework automatically creates a CMFCAutoHideBar
object. It also creates the necessary CAutoHideDockSite and CMFCAutoHideButton objects. Each CAutoHideDockSite
object is associated with an individual CMFCAutoHideButton
.
The CMFCAutoHideBar
class implements the display of a CAutoHideDockSite
when a user's mouse hovers over a CMFCAutoHideButton
. When the toolbar receives a WM_MOUSEMOVE message, CMFCAutoHideBar
starts a timer. When the timer finishes, it sends the toolbar a WM_TIMER event notification. The toolbar handles this event by checking whether the mouse pointer is positioned over the same auto-hide button that it was positioned over when the timer started. If it is, the attached CAutoHideDockSite
is displayed.
You can control the length of the timer's delay by setting m_nShowAHWndDelay
. The default value is 400 ms.
Example
The following example demonstrates how to construct a CMFCAutoHideBar
object and use its GetDockSiteRow
method.
CMFCAutoHideBar* pParentBar = new CMFCAutoHideBar();
CDockingPanesRow* pParentRow = pParentBar->GetDockSiteRow();
Inheritance Hierarchy
Requirements
Header: afxautohidebar.h
CMFCAutoHideBar::AddAutoHideWindow
Adds functionality to a CDockablePane
window that enables it to auto-hide.
CMFCAutoHideButton* AddAutoHideWindow(
CDockablePane* pAutoHideWnd,
DWORD dwAlignment);
Parameters
[in] pAutoHideWnd
The window that you want to hide.
[in] dwAlignment
A value that specifies the alignment of the auto-hide button with the application window.
Return Value
Remarks
The dwAlignment
parameter indicates where the auto-hide button resides in the application. The parameter can be any one of the following values:
CBRS_ALIGN_LEFT
CBRS_ALIGN_RIGHT
CBRS_ALIGN_TOP
CBRS_ALIGN_BOTTOM
CMFCAutoHideBar::AllowShowOnPaneMenu
This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.
virtual BOOL AllowShowOnPaneMenu() const;
Return Value
Remarks
CMFCAutoHideBar::CalcFixedLayout
This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.
virtual CSize CalcFixedLayout(
BOOL bStretch,
BOOL bHorz);
Parameters
[in] bStretch
[in] bHorz
Return Value
Remarks
CMFCAutoHideBar::CMFCAutoHideBar
Constructs a CMFCAutoHideBar object.
CMFCAutoHideBar();
Remarks
CMFCAutoHideBar::Create
This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.
virtual BOOL Create(
LPCTSTR lpszClassName,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
DWORD dwControlBarStyle = AFX_DEFAULT_PANE_STYLE,
CCreateContext* pContext = NULL);
Parameters
[in] lpszClassName
[in] dwStyle
[in] rect
[in] pParentWnd
[in] nID
[in] dwControlBarStyle
[in] pContext
Return Value
Remarks
CMFCAutoHideBar::GetFirstAHWindow
Returns a pointer to the first auto-hide window in the application.
CDockablePane* GetFirstAHWindow();
Return Value
The first auto-hide window in the application, or NULL if there isn't one.
Remarks
CMFCAutoHideBar::GetVisibleCount
Gets the number of visible auto-hide buttons.
int GetVisibleCount();
Return Value
Returns the number of visible auto-hide buttons.
Remarks
CMFCAutoHideBar::m_nShowAHWndDelay
The time delay between the moment when the user places the mouse cursor over a CMFCAutoHideButton Class and the moment when the framework shows the associated window.
int CMFCAutoHideBar::m_nShowAHWndDelay = 400;
Remarks
When the user places the mouse cursor over a CMFCAutoHideButton
, there is a slight delay before the framework displays the associated window. This parameter determines the length of that delay in milliseconds.
CMFCAutoHideBar::OnShowControlBarMenu
This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.
virtual BOOL OnShowControlBarMenu(CPoint);
Parameters
[in] CPoint
Return Value
Remarks
CMFCAutoHideBar::RemoveAutoHideWindow
Removes and destroys the auto-hide window.
BOOL RemoveAutoHideWindow(CDockablePane* pAutoHideWnd);
Parameters
CDockablePane* pAutoHideWnd
The auto-hide window to remove.
Return Value
TRUE if successful; otherwise FALSE.
Remarks
CMFCAutoHideBar::SetActiveInGroup
Flags an auto-hide bar as active.
virtual void SetActiveInGroup(BOOL bActive);
Parameters
[in] BOOL bActive
TRUE to set to active; otherwise FALSE.
Remarks
CMFCAutoHideBar::SetRecentVisibleState
This topic is included for completeness. For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.
void SetRecentVisibleState(BOOL bState);
Parameters
[in] bState
Remarks
CMFCAutoHideBar::ShowAutoHideWindow
Shows the auto-hide window.
BOOL ShowAutoHideWindow(
CDockablePane* pAutoHideWnd,
BOOL bShow,
BOOL bDelay);
Parameters
[in] CDockablePane* pAutoHideWnd
[in] BOOL bShow
TRUE to show the window.
[in] BOOL bDelay
This parameter is ignored.
Return Value
TRUE if successful; otherwise FALSE.
Remarks
CMFCAutoHideBar::StretchPane
Resizes the auto-hide bar in its collapsed state to fit the CMFCAutoHideButton
object.
virtual CSize StretchPane(
int nLength,
BOOL bVert);
Parameters
[in] nLength
The value is unused in the base implementation. In derived implementations, use this value to indicate the length of the resized pane.
[in] bVert
The value is unused in the base implementation. In derived implementations, use TRUE
to handle the case where the auto-hide bar is collapsed vertically, and FALSE
for the case where the auto-hide bar is collapsed horizontally.
Return Value
The resulting size of the resized pane.
Remarks
Derived classes can override this method to customize the behavior.
CMFCAutoHideBar::UnSetAutoHideMode
Disables auto-hide mode for a group of auto-hide bars.
void UnSetAutoHideMode
(CDockablePane* pFirstBarInGroup)
Parameters
[in] pFirstBarInGroup
A pointer to the first auto-hide bar in the group.
Remarks
CMFCAutoHideBar::UpdateVisibleState
Called by the framework when the auto-hide bar needs to be redrawn.
void UpdateVisibleState();
Remarks
See Also
Hierarchy Chart
Classes
CPane Class
CAutoHideDockSite Class
CMFCAutoHideButton Class