CPaneContainerManager 类
CPaneContainerManager
类管理当前停靠布局的存储和显示。
有关详细信息,请参阅所安装的 Visual Studio 的 C\atlmfc\src\mfc 文件夹中的源代码。
class CPaneContainerManager : public CObject
该框架会自动创建 CPaneContainerManager
对象的实例并将其嵌入到 CPaneDivider Class 对象或 CMultiPaneFrameWnd Class 对象中。
CPaneContainerManager
类存储指向从 CPaneContainer 对象构建的二叉树根的指针。
以下示例演示如何获取对 CPaneContainerManager
对象的引用。 此代码段是设置窗格大小示例的一部分。
// CMultiPaneFrameWnd* pParentMiniFrame
CPaneContainerManager &manager = pParentMiniFrame->GetPaneContainerManager();
标头: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