CPaneDivider Class
For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.
The CPaneDivider
class divides two panes, divides two groups of panes, or separates a group of panes from the client area of the main frame window.
Syntax
class CPaneDivider : public CBasePane
Members
Public Constructors
Name | Description |
---|---|
CPaneDivider::CPaneDivider |
Public Methods
Name | Description |
---|---|
CPaneDivider::m_nDefaultWidth | Specifies the default width in pixels of all pane dividers in the application. |
CPaneDivider::m_pSliderRTC | Holds a pointer to the runtime class information about a CPaneDivider -derived object. |
Remarks
The framework creates CPaneDivider
objects automatically when a pane is docked.
There are two types of pane dividers:
a default pane divider is created when a group of panes is docked to a side of the main frame window. The default pane divider holds a pointer to the CPaneContainerManager Class and redirects most operations on the group of panes (such as resizing a pane, or docking another pane or container) to the container manager. Each docking pane maintains a pointer to its default pane divider.
A regular pane divider just divides two panes in a container. For more information, see CPaneContainer Class.
Example
The following example demonstrates how to get a CPaneDivider
object from a CWorkspaceBar
object. This code snippet is part of the MDI Tabs Demo sample.
// CWorkspaceBar m_wndWorkSpace
CPaneDivider *pSlider = m_wndWorkSpace.GetDefaultPaneDivider();
Inheritance Hierarchy
CObject
└ CCmdTarget
└ CWnd
└ CBasePane
└ CPaneDivider
Requirements
Header: afxPaneDivider.h
CPaneDivider::SetAutoHideMode
void SetAutoHideMode(BOOL bMode);
Parameters
[in] bMode
Remarks
CPaneDivider::SetPaneContainerManager
void SetPaneContainerManager(CPaneContainerManager* p);
Parameters
[in] p
Remarks
CPaneDivider::AddPane
virtual void AddPane(CDockablePane* pBar);
Parameters
[in] pBar
Remarks
CPaneDivider::AddPaneContainer
virtual BOOL AddPaneContainer(
CPaneContainerManager& barContainerManager,
BOOL bOuterEdge);
virtual BOOL AddPaneContainer(
CDockablePane* pTargetBar,
CPaneContainerManager& barContainerManager,
DWORD dwAlignment);
Parameters
[in] barContainerManager
[in] bOuterEdge
[in] pTargetBar
[in] dwAlignment
Return Value
Remarks
CPaneDivider::AddRecentPane
virtual CDockablePane* AddRecentPane(CDockablePane* pBar);
Parameters
[in] pBar
Return Value
Remarks
CPaneDivider::CalcExpectedDockedRect
virtual void CalcExpectedDockedRect(
CWnd* pWndToDock,
CPoint ptMouse,
CRect& rectResult,
BOOL& bDrawTab,
CDockablePane** ppTargetBar);
Parameters
[in] pWndToDock
[in] ptMouse
[in] rectResult
[in] bDrawTab
[in] ppTargetBar
Remarks
CPaneDivider::CalcFixedLayout
virtual CSize CalcFixedLayout(
BOOL bStretch,
BOOL bHorz);
Parameters
[in] bStretch
[in] bHorz
Return Value
Remarks
CPaneDivider::CheckVisibility
virtual BOOL CheckVisibility();
Return Value
Remarks
CPaneDivider::CPaneDivider
CPaneDivider();
CPaneDivider(
BOOL bDefaultSlider,
CWnd* pParent = NULL);
Parameters
[in] bDefaultSlider
[in] pParent
Return Value
Remarks
CPaneDivider::CreateEx
virtual BOOL CreateEx(
DWORD dwStyleEx,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CCreateContext* pContext);
Parameters
[in] dwStyleEx
[in] dwStyle
[in] rect
[in] pParentWnd
[in] nID
[in] pContext
Return Value
Remarks
CPaneDivider::DoesAllowDynInsertBefore
virtual BOOL DoesAllowDynInsertBefore() const;
Return Value
Remarks
CPaneDivider::DoesContainFloatingPane
virtual BOOL DoesContainFloatingPane();
Return Value
Remarks
CPaneDivider::FindPaneContainer
CPaneContainer* FindPaneContainer(
CDockablePane* pBar,
BOOL& bLeftBar);
Parameters
[in] pBar
[in] bLeftBar
Return Value
Remarks
CPaneDivider::FindTabbedPane
CDockablePane* FindTabbedPane(UINT nID);
Parameters
[in] nID
Return Value
Remarks
CPaneDivider::GetDefaultWidth
static int __stdcall GetDefaultWidth();
Return Value
Remarks
CPaneDivider::GetFirstPane
const CBasePane* GetFirstPane() const;
Return Value
Remarks
CPaneDivider::GetPaneDividers
Returns the list of pane dividers that reside in the CPaneContainer Class. This method should be called only for default pane dividers.
void GetPaneDividers(CObList& lstSliders);
Parameters
lstSliders
[out] Contains the list of pane dividers that reside in the pane container.
Remarks
This method should be called for default pane dividers only. A default pane divider is a divider that resizes the entire pane container.
CPaneDivider::GetPaneDividerStyle
DWORD GetPaneDividerStyle() const;
Return Value
Remarks
CPaneDivider::GetPanes
Returns the list of panes that reside in the CPaneContainer Class. This method should be called only to retrieve default pane dividers.
void GetPanes(CObList& lstBars);
Parameters
lstBars
[out] Contains the list of panes that reside in the pane container.
Remarks
This method should be called for default pane dividers only. A default pane divider is a divider that resizes the entire pane container.
CPaneDivider::GetRootContainerRect
CRect GetRootContainerRect();
Return Value
Remarks
CPaneDivider::GetWidth
int GetWidth() const;
Return Value
Remarks
CPaneDivider::Init
void Init(
BOOL bDefaultSlider = FALSE,
CWnd* pParent = NULL);
Parameters
[in] bDefaultSlider
[in] pParent
Remarks
CPaneDivider::InsertPane
virtual BOOL InsertPane(
CDockablePane* pBarToInsert,
CDockablePane* pTargetBar,
DWORD dwAlignment,
LPCRECT lpRect = NULL);
Parameters
[in] pBarToInsert
[in] pTargetBar
[in] dwAlignment
[in] lpRect
Return Value
Remarks
CPaneDivider::IsAutoHideMode
BOOL IsAutoHideMode() const;
Return Value
Remarks
CPaneDivider::IsDefault
BOOL IsDefault() const;
Return Value
Remarks
CPaneDivider::IsHorizontal
BOOL IsHorizontal() const;
Return Value
Remarks
CPaneDivider::m_nDefaultWidth
Specifies the default width, in pixels, of all pane dividers in the application.
AFX_IMPORT_DATA static int m_nDefaultWidth;
CPaneDivider::Move
virtual void Move(
CPoint& ptOffset,
BOOL bAdjustLayout = TRUE);
Parameters
[in] ptOffset
[in] bAdjustLayout
Remarks
CPaneDivider::m_pSliderRTC
Holds a pointer to runtime class information about a CPaneDivider
-derived object.
AFX_IMPORT_DATA static CRuntimeClass* m_pSliderRTC;
Remarks
Set this member variable if you create a custom pane divider. This enables the framework to create your pane divider when the pane is drawn.
Example
The following example shows how to set the m_pSliderRTC
member variable:
class CMySplitter : public CPaneDivider
{
...
};
CPaneDivider::m_pSliderRTC = RUNTIME_CLASS(CMySpliter);
CPaneDivider::NotifyAboutRelease
virtual void NotifyAboutRelease();
Remarks
CPaneDivider::OnShowPane
virtual void OnShowPane(
CDockablePane* pBar,
BOOL bShow);
Parameters
[in] pBar
[in] bShow
Remarks
CPaneDivider::ReleaseEmptyPaneContainers
void ReleaseEmptyPaneContainers();
Remarks
CPaneDivider::RemovePane
virtual void RemovePane(CDockablePane* pBar);
Parameters
[in] pBar
Remarks
CPaneDivider::ReplacePane
virtual BOOL ReplacePane(
CDockablePane* pBarToReplace,
CDockablePane* pBarToReplaceWith);
Parameters
[in] pBarToReplace
[in] pBarToReplaceWith
Return Value
Remarks
CPaneDivider::RepositionPanes
virtual void RepositionPanes(
CRect& rectNew,
HDWP& hdwp);
Parameters
[in] rectNew
[in] hdwp
Remarks
CPaneDivider::Serialize
void Serialize(CArchive& ar);
Parameters
[in] ar
Remarks
CPaneDivider::ShowWindow
void ShowWindow(int nCmdShow);
Parameters
[in] nCmdShow
Remarks
CPaneDivider::StoreRecentDockSiteInfo
void StoreRecentDockSiteInfo(CDockablePane* pBar);
Parameters
[in] pBar
Remarks
CPaneDivider::StoreRecentTabRelatedInfo
void StoreRecentTabRelatedInfo(
CDockablePane* pDockingBar,
CDockablePane* pTabbedBar);
Parameters
[in] pDockingBar
[in] pTabbedBar
Remarks
See also
Hierarchy Chart
Classes
CPaneContainerManager Class
CPaneContainer Class
CDockingManager Class
CBasePane Class