CPaneContainer 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 CPaneContainer Class.
The CPaneContainer
class is a basic component of the docking model implemented by MFC. An object of this class stores pointers to two docking panes or to two instances of CPaneContainer.
It also stores a pointer to the divider that separates the panes (or the containers). By nesting containers inside containers, the framework can build a binary tree that represents complex docking layouts. The root of the binary tree is stored in a CPaneContainerManager object.
Syntax
class CPaneContainer : public CObject
Members
Public Constructors
Name | Description |
---|---|
CPaneContainer::CPaneContainer | Default constructor. |
Public Methods
Name | Description |
---|---|
CPaneContainer::AddPane | |
CPaneContainer::AddRef | |
CPaneContainer::AddSubPaneContainer | |
CPaneContainer::CalcAvailablePaneSpace | |
CPaneContainer::CalcAvailableSpace | |
CPaneContainer::CalculateRecentSize | |
CPaneContainer::CheckPaneDividerVisibility | |
CPaneContainer::Copy | |
CPaneContainer::DeletePane | |
CPaneContainer::FindSubPaneContainer | |
CPaneContainer::FindTabbedPane | |
CPaneContainer::GetAssociatedSiblingPaneIDs | |
CPaneContainer::GetLeftPane | |
CPaneContainer::GetLeftPaneContainer | |
CPaneContainer::GetMinSize | |
CPaneContainer::GetMinSizeLeft | |
CPaneContainer::GetMinSizeRight | |
CPaneContainer::GetNodeCount | |
CPaneContainer::GetPaneDivider | |
CPaneContainer::GetParentPaneContainer | |
CPaneContainer::GetRecentPaneDividerRect | |
CPaneContainer::GetRecentPaneDividerStyle | |
CPaneContainer::GetRecentPercent | |
CPaneContainer::GetRefCount | |
CPaneContainer::GetResizeStep | |
CPaneContainer::GetRightPane | |
CPaneContainer::GetRightPaneContainer | |
CPaneContainer::GetTotalReferenceCount | |
CPaneContainer::GetWindowRect | |
CPaneContainer::IsDisposed | |
CPaneContainer::IsEmpty | |
CPaneContainer::IsLeftPane | |
CPaneContainer::IsLeftPaneContainer | |
CPaneContainer::IsLeftPartEmpty | |
CPaneContainer::IsRightPartEmpty | |
CPaneContainer::IsVisible | |
CPaneContainer::Move | |
CPaneContainer::OnDeleteHidePane | |
CPaneContainer::OnMoveInternalPaneDivider | |
CPaneContainer::OnShowPane | |
CPaneContainer::Release | |
CPaneContainer::ReleaseEmptyPaneContainer | |
CPaneContainer::RemoveNonValidPanes | |
CPaneContainer::RemovePane | |
CPaneContainer::Resize | |
CPaneContainer::ResizePane | |
CPaneContainer::ResizePartOfPaneContainer | |
CPaneContainer::Serialize | Reads or writes this object from or to an archive. (Overrides CObject::Serialize.) |
CPaneContainer::SetPane | |
CPaneContainer::SetPaneContainer | |
CPaneContainer::SetPaneDivider | |
CPaneContainer::SetParentPaneContainer | |
CPaneContainer::SetRecentPercent | |
CPaneContainer::SetUpByID | |
CPaneContainer::StoreRecentDockSiteInfo | |
CPaneContainer::StretchPaneContainer |
Remarks
CPaneContainer
objects are created automatically by the framework.
Example
The following example demonstrates how to construct an instance of the CPaneContainer
class. This code snippet is part of the Set Pane Size sample.
CPaneDialog m_wndDlgBar;
CPaneDivider* pDefaultPaneDivider = m_wndDlgBar.GetDefaultPaneDivider ();
if (pDefaultPaneDivider == NULL)
{
AfxMessageBox (_T ("The DialogBar is not docked."));
return;
}
BOOL bLeftBar = FALSE;
CPaneContainer* pContainer = pDefaultPaneDivider->FindPaneContainer (&m_wndDlgBar, bLeftBar);
Inheritance Hierarchy
Requirements
Header: afxpanecontainer.h
CPaneContainer::AddPane
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.
CDockablePane* AddPane(CDockablePane* pBar);
Parameters
[in] pBar
Return Value
Remarks
CPaneContainer::AddRef
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 AddRef();
Remarks
CPaneContainer::AddSubPaneContainer
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.
BOOL AddSubPaneContainer(
CPaneContainer* pContainer,
BOOL bRightNodeNew);
Parameters
[in] pContainer
[in] bRightNodeNew
Return Value
Remarks
CPaneContainer::CalcAvailablePaneSpace
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 int CalcAvailablePaneSpace(
int nRequiredOffset,
CPane* pBar,
CPaneContainer* pContainer,
BOOL bLeftBar);
Parameters
[in] nRequiredOffset
[in] pBar
[in] pContainer
[in] bLeftBar
Return Value
Remarks
CPaneContainer::CalcAvailableSpace
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 CalcAvailableSpace(
CSize sizeStretch,
BOOL bLeftBar);
Parameters
[in] sizeStretch
[in] bLeftBar
Return Value
Remarks
CPaneContainer::CalculateRecentSize
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 CalculateRecentSize();
Remarks
CPaneContainer::CheckPaneDividerVisibility
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 CheckPaneDividerVisibility();
Remarks
CPaneContainer::Copy
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 CPaneContainer* Copy(CPaneContainer* pParentContainer);
Parameters
[in] pParentContainer
Return Value
Remarks
CPaneContainer::CPaneContainer
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.
CPaneContainer(
CPaneContainerManager* pManager = NULL,
CDockablePane* pLeftBar = NULL,
CDockablePane* pRightBar = NULL,
CPaneDivider* pSlider = NULL);
Parameters
[in] pManager
[in] pLeftBar
[in] pRightBar
[in] pSlider
Remarks
CPaneContainer::DeletePane
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 void DeletePane(
CDockablePane* pBar,
BC_FIND_CRITERIA barType);
Parameters
[in] pBar
[in] barType
Remarks
CPaneContainer::FindSubPaneContainer
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.
CPaneContainer* FindSubPaneContainer(
const CObject* pObject,
BC_FIND_CRITERIA findCriteria);
Parameters
[in] pObject
[in] findCriteria
Return Value
Remarks
CPaneContainer::FindTabbedPane
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.
CDockablePane* FindTabbedPane(UINT nID);
Parameters
[in] nID
Return Value
Remarks
CPaneContainer::GetAssociatedSiblingPaneIDs
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.
CList<UINT, UINT>* GetAssociatedSiblingPaneIDs(CDockablePane* pBar);
Parameters
[in] pBar
Return Value
Remarks
CPaneContainer::GetLeftPane
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.
const CDockablePane* GetLeftPane() const;
Return Value
Remarks
CPaneContainer::GetLeftPaneContainer
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.
const CPaneContainer* GetLeftPaneContainer() const;
Return Value
Remarks
CPaneContainer::GetMinSize
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 void GetMinSize(CSize& size) const;
Parameters
[in] size
Remarks
CPaneContainer::GetMinSizeLeft
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 void GetMinSizeLeft(CSize& size) const;
Parameters
[in] size
Remarks
CPaneContainer::GetMinSizeRight
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 void GetMinSizeRight(CSize& size) const;
Parameters
[in] size
Remarks
CPaneContainer::GetNodeCount
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.
int GetNodeCount() const;
Return Value
Remarks
CPaneContainer::GetPaneDivider
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.
const CPaneDivider* GetPaneDivider() const;
Return Value
Remarks
CPaneContainer::GetParentPaneContainer
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.
CPaneContainer* GetParentPaneContainer() const;
Return Value
Remarks
CPaneContainer::GetRecentPaneDividerRect
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.
CRect GetRecentPaneDividerRect() const;
Return Value
Remarks
CPaneContainer::GetRecentPaneDividerStyle
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.
DWORD GetRecentPaneDividerStyle() const;
Return Value
Remarks
CPaneContainer::GetRecentPercent
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.
int GetRecentPercent();
Return Value
Remarks
CPaneContainer::GetRefCount
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.
LONG GetRefCount();
Return Value
Remarks
CPaneContainer::GetResizeStep
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 int GetResizeStep() const;
Return Value
Remarks
CPaneContainer::GetRightPane
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.
const CDockablePane* GetRightPane() const;
Return Value
Remarks
CPaneContainer::GetRightPaneContainer
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.
const CPaneContainer* GetRightPaneContainer() const;
Return Value
Remarks
CPaneContainer::GetTotalReferenceCount
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.
int GetTotalReferenceCount() const;
Return Value
Remarks
CPaneContainer::GetWindowRect
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 void GetWindowRect(
CRect& rect,
BOOL bIgnoreVisibility = FALSE) const;
Parameters
[in] rect
[in] bIgnoreVisibility
Remarks
CPaneContainer::IsDisposed
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.
BOOL IsDisposed() const;
Return Value
Remarks
CPaneContainer::IsEmpty
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.
BOOL IsEmpty() const;
Return Value
Remarks
CPaneContainer::IsLeftPane
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.
BOOL IsLeftPane(CDockablePane* pBar) const;
Parameters
[in] pBar
Return Value
Remarks
CPaneContainer::IsLeftPaneContainer
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.
BOOL IsLeftPaneContainer() const;
Return Value
Remarks
CPaneContainer::IsLeftPartEmpty
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.
BOOL IsLeftPartEmpty(BOOL bCheckVisibility = FALSE) const;
Parameters
[in] bCheckVisibility
Return Value
Remarks
CPaneContainer::IsRightPartEmpty
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.
BOOL IsRightPartEmpty(BOOL bCheckVisibility = FALSE) const;
Parameters
[in] bCheckVisibility
Return Value
Remarks
CPaneContainer::IsVisible
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.
BOOL IsVisible() const;
Return Value
Remarks
CPaneContainer::Move
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 void Move(CPoint ptNewLeftTop);
Parameters
[in] ptNewLeftTop
Remarks
CPaneContainer::OnDeleteHidePane
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 OnDeleteHidePane(
CDockablePane* pBar,
BOOL bHide);
Parameters
[in] pBar
[in] bHide
Remarks
CPaneContainer::OnMoveInternalPaneDivider
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 int OnMoveInternalPaneDivider(
int nOffset,
HDWP& hdwp);
Parameters
[in] nOffset
[in] hdwp
Return Value
Remarks
CPaneContainer::OnShowPane
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 void OnShowPane(
CDockablePane* pBar,
BOOL bShow);
Parameters
[in] pBar
[in] bShow
Remarks
CPaneContainer::Release
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.
DWORD Release();
Return Value
Remarks
CPaneContainer::ReleaseEmptyPaneContainer
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 ReleaseEmptyPaneContainer();
Remarks
CPaneContainer::RemoveNonValidPanes
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 RemoveNonValidPanes();
Remarks
CPaneContainer::RemovePane
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 void RemovePane(CDockablePane* pBar);
Parameters
[in] pBar
Remarks
CPaneContainer::Resize
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 void Resize(
CRect rect,
HDWP& hdwp,
BOOL bRedraw = FALSE);
Parameters
[in] rect
[in] hdwp
[in] bRedraw
Remarks
CPaneContainer::ResizePane
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 void ResizePane(
int nOffset,
CPane* pBar,
CPaneContainer* pContainer,
BOOL bHorz,
BOOL bLeftBar,
HDWP& hdwp);
Parameters
[in] nOffset
[in] pBar
[in] pContainer
[in] bHorz
[in] bLeftBar
[in] hdwp
Remarks
CPaneContainer::ResizePartOfPaneContainer
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 void ResizePartOfPaneContainer(
int nOffset,
BOOL bLeftPart,
HDWP& hdwp);
Parameters
[in] nOffset
[in] bLeftPart
[in] hdwp
Remarks
CPaneContainer::Serialize
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 Serialize(CArchive& ar);
Parameters
[in] ar
Remarks
CPaneContainer::SetPane
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 SetPane(
CDockablePane* pBar,
BOOL bLeft);
Parameters
[in] pBar
[in] bLeft
Remarks
CPaneContainer::SetPaneContainer
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 SetPaneContainer(
CPaneContainer* pContainer,
BOOL bLeft);
Parameters
[in] pContainer
[in] bLeft
Remarks
CPaneContainer::SetPaneDivider
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 SetPaneDivider(CPaneDivider* pSlider);
Parameters
[in] pSlider
Remarks
CPaneContainer::SetParentPaneContainer
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 SetParentPaneContainer(CPaneContainer* p);
Parameters
[in] p
Remarks
CPaneContainer::SetRecentPercent
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 SetRecentPercent(int nRecentPercent);
Parameters
[in] nRecentPercent
Remarks
CPaneContainer::SetUpByID
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.
BOOL SetUpByID(
UINT nID,
CDockablePane* pBar);
Parameters
[in] nID
[in] pBar
Return Value
Remarks
CPaneContainer::StoreRecentDockSiteInfo
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 void StoreRecentDockSiteInfo(CDockablePane* pBar);
Parameters
[in] pBar
Remarks
CPaneContainer::StretchPaneContainer
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 int StretchPaneContainer(
int nOffset,
BOOL bStretchHorz,
BOOL bLeftBar,
BOOL bMoveSlider,
HDWP& hdwp);
Parameters
[in] nOffset
[in] bStretchHorz
[in] bLeftBar
[in] bMoveSlider
[in] hdwp
Return Value
Remarks
See Also
Hierarchy Chart
Classes
CObject Class
CPaneContainerManager Class