Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
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_LEFTCBRS_ALIGN_RIGHTCBRS_ALIGN_TOPCBRS_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