description | title | ms.date | f1_keywords | helpviewer_keywords | ms.assetid | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Learn more about: CPaneContainerManager Class |
CPaneContainerManager Class |
11/04/2016 |
|
|
3d974c15-a62f-4648-bb5b-cc31ab7950af |
The CPaneContainerManager
class manages the storage and display of the current docking layout.
For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.
class CPaneContainerManager : public CObject
The framework automatically creates instances of CPaneContainerManager
objects and embeds them either into CPaneDivider Class objects or into CMultiPaneFrameWnd Class objects.
The CPaneContainerManager
class stores a pointer to the root of a binary tree that is built from CPaneContainer objects.
The following example demonstrates how to get a reference to a CPaneContainerManager
object. This code snippet is part of the Set Pane Size sample.
[!code-cppNVC_MFC_SetPaneSize#5]
Header: afxpanecontainermanager.h
virtual void AddPane(CDockablePane* pControlBarToAdd);
[in] pControlBarToAdd
virtual BOOL AddPaneContainerManager(
CPaneContainerManager& srcManager,
BOOL bOuterEdge);
virtual BOOL AddPaneContainerManager(
CDockablePane* pTargetControlBar,
DWORD dwAlignment,
CPaneContainerManager& srcManager,
BOOL bCopy);
[in] srcManager
[in] bOuterEdge
[in] pTargetControlBar
[in] dwAlignment
[in] bCopy
virtual BOOL AddPaneContainerManagerToDockablePane(
CDockablePane* pTargetControlBar,
CPaneContainerManager& srcManager);
[in] pTargetControlBar
[in] srcManager
void AddPanesToList(
CObList* plstControlBars,
CObList* plstSliders);
[in] plstControlBars
[in] plstSliders
void AddPaneToList(CDockablePane* pControlBarToAdd);
[in] pControlBarToAdd
virtual CDockablePane* AddPaneToRecentPaneContainer(
CDockablePane* pBarToAdd,
CPaneContainer* pRecentContainer);
[in] pBarToAdd
[in] pRecentContainer
void CalcRects(
CRect& rectOriginal,
CRect& rectInserted,
CRect& rectSlider,
DWORD& dwSliderStyle,
DWORD dwAlignment,
CSize sizeMinOriginal,
CSize sizeMinInserted);
[in] rectOriginal
[in] rectInserted
[in] rectSlider
[in] dwSliderStyle
[in] dwAlignment
[in] sizeMinOriginal
[in] sizeMinInserted
virtual BOOL CanBeAttached() const;
BOOL CheckAndRemoveNonValidPane(CWnd* pWnd);
[in] pWnd
virtual BOOL CheckForMiniFrameAndCaption(
CPoint point,
CDockablePane** ppTargetControlBar);
[in] point
[in] ppTargetControlBar
virtual BOOL Create(
CWnd* pParentWnd,
CPaneDivider* pDefaultSlider,
CRuntimeClass* pContainerRTC = NULL);
[in] pParentWnd
[in] pDefaultSlider
[in] pContainerRTC
virtual BOOL DoesAllowDynInsertBefore() const;
virtual BOOL DoesContainFloatingPane();
virtual void EnableGrippers(BOOL bEnable);
[in] bEnable
virtual CPaneContainer* FindPaneContainer(
CDockablePane* pBar,
BOOL& bLeftBar);
[in] pBar
[in] bLeftBar
CDockablePane* FindTabbedPane(UINT nID);
[in] nID
virtual void GetAvailableSpace(CRect& rect) const;
[in] rect
CPaneDivider* GetDefaultPaneDivider() const;
virtual CWnd* GetDockSiteFrameWnd();
virtual CBasePane* GetFirstPane() const;
virtual CWnd* GetFirstVisiblePane() const;
virtual void GetMinMaxOffset(
CPaneDivider* pSlider,
int& nMinOffset,
int& nMaxOffset,
int& nStep);
[in] pSlider
[in] nMinOffset
[in] nMaxOffset
[in] nStep
virtual void GetMinSize(CSize& size);
[in] size
int GetNodeCount() const;
CRuntimeClass* GetPaneContainerRTC() const;
int GetPaneCount() const;
int GetTotalRefCount() const;
virtual int GetVisiblePaneCount() const;
virtual void GetWindowRect(CRect& rect) const;
[in] rect
virtual void HideAll();
virtual BOOL InsertPane(
CDockablePane* pControlBarToInsert,
CDockablePane* pTargetControlBar,
DWORD dwAlignment,
LPCRECT lpRect = NULL,
AFX_DOCK_METHOD dockMethod = DM_UNKNOWN);
[in] pControlBarToInsert
[in] pTargetControlBar
[in] dwAlignment
[in] lpRect
[in] dockMethod
BOOL IsAutoHideMode() const;
BOOL IsEmpty() const;
virtual BOOL IsRootPaneContainerVisible() const;
void NotifyPaneDivider();
virtual int OnPaneDividerMove(
CPaneDivider* pSlider,
UINT uFlags,
int nOffset,
HDWP& hdwp);
[in] pSlider
[in] uFlags
[in] nOffset
[in] hdwp
virtual BOOL OnShowPane(
CDockablePane* pBar,
BOOL bShow);
[in] pBar
[in] bShow
virtual CDockablePane* PaneFromPoint(
CPoint point,
int nSensitivity,
BOOL bExactBar,
BOOL& bIsTabArea,
BOOL& bCaption);
[in] point
[in] nSensitivity
[in] bExactBar
[in] bIsTabArea
[in] bCaption
void ReleaseEmptyPaneContainers();
void RemoveAllPanesAndPaneDividers();
void RemoveNonValidPanes();
virtual void RemovePaneDivider(CPaneDivider* pSlider);
[in] pSlider
virtual BOOL RemovePaneFromPaneContainer(CDockablePane* pControlBar);
[in] pControlBar
virtual BOOL ReplacePane(
CDockablePane* pBarOld,
CDockablePane* pBarNew);
[in] pBarOld
[in] pBarNew
virtual void ResizePaneContainers(
UINT nSide,
BOOL bExpand,
int nOffset,
HDWP& hdwp);
virtual void ResizePaneContainers(
CRect rect,
HDWP& hdwp);
[in] nSide
[in] bExpand
[in] nOffset
[in] hdwp
[in] rect
void Serialize(CArchive& ar);
[in] ar
void SetDefaultPaneDividerForPanes(CPaneDivider* pSlider);
[in] pSlider
void SetPaneContainerRTC(CRuntimeClass* pContainerRTC);
[in] pContainerRTC
virtual void SetResizeMode(BOOL bResize);
[in] bResize
virtual void StoreRecentDockSiteInfo(CDockablePane* pBar);
[in] pBar
Hierarchy Chart
Classes
CObject Class
CPaneContainer Class
CPaneDivider Class