CPaneContainer 類別
CPaneContainer
類別是 MFC 所實作之停駐模型的基本元件。 此類別的物件會儲存指向 CPaneContainer
的兩個停駐窗格或兩個執行個體的指標。 它也會儲存指向分隔窗格 (或容器) 的分隔線的指標。 Framework 可以將容器巢狀於容器內部,建置表示複雜停駐配置的二進位樹狀目錄。 二進位樹狀目錄的根是儲存在 CPaneContainerManager 物件中。
如需更多詳細資料,請參閱 Visual Studio 安裝位置下之 VC\atlmfc\src\mfc 資料夾中的原始程式碼。
語法
class CPaneContainer : public CObject
成員
公用建構函式
名稱 | 描述 |
---|---|
CPaneContainer::CPaneContainer | 預設建構函式。 |
公用方法
備註
CPaneContainer
物件會由架構自動建立。
範例
下列範例示範如何建構 CPaneContainer
類別的執行個體。 此程式碼片段是設定窗格大小範例的一部分。
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);
繼承階層架構
需求
Header: afxpanecontainer.h
CPaneContainer::AddPane
CDockablePane* AddPane(CDockablePane* pBar);
參數
[in] pBar
傳回值
備註
CPaneContainer::AddRef
void AddRef();
備註
CPaneContainer::AddSubPaneContainer
BOOL AddSubPaneContainer(
CPaneContainer* pContainer,
BOOL bRightNodeNew);
參數
[in] pContainer
[in] bRightNodeNew
傳回值
備註
CPaneContainer::CalcAvailablePaneSpace
virtual int CalcAvailablePaneSpace(
int nRequiredOffset,
CPane* pBar,
CPaneContainer* pContainer,
BOOL bLeftBar);
參數
[in] nRequiredOffset
[in] pBar
[in] pContainer
[in] bLeftBar
傳回值
備註
CPaneContainer::CalcAvailableSpace
virtual CSize CalcAvailableSpace(
CSize sizeStretch,
BOOL bLeftBar);
參數
[in] sizeStretch
[in] bLeftBar
傳回值
備註
CPaneContainer::CalculateRecentSize
void CalculateRecentSize();
備註
CPaneContainer::CheckPaneDividerVisibility
void CheckPaneDividerVisibility();
備註
CPaneContainer::Copy
virtual CPaneContainer* Copy(CPaneContainer* pParentContainer);
參數
[in] pParentContainer
傳回值
備註
CPaneContainer::CPaneContainer
CPaneContainer(
CPaneContainerManager* pManager = NULL,
CDockablePane* pLeftBar = NULL,
CDockablePane* pRightBar = NULL,
CPaneDivider* pSlider = NULL);
參數
[in] pManager
[in] pLeftBar
[in] pRightBar
[in] pSlider
備註
CPaneContainer::DeletePane
virtual void DeletePane(
CDockablePane* pBar,
BC_FIND_CRITERIA barType);
參數
[in] pBar
[in] barType
備註
CPaneContainer::FindSubPaneContainer
CPaneContainer* FindSubPaneContainer(
const CObject* pObject,
BC_FIND_CRITERIA findCriteria);
參數
[in] pObject
[in] findCriteria
傳回值
備註
CPaneContainer::FindTabbedPane
CDockablePane* FindTabbedPane(UINT nID);
參數
[in] nID
傳回值
備註
CPaneContainer::GetAssociatedSiblingPaneIDs
CList<UINT, UINT>* GetAssociatedSiblingPaneIDs(CDockablePane* pBar);
參數
[in] pBar
傳回值
備註
CPaneContainer::GetLeftPane
const CDockablePane* GetLeftPane() const;
傳回值
備註
CPaneContainer::GetLeftPaneContainer
const CPaneContainer* GetLeftPaneContainer() const;
傳回值
備註
CPaneContainer::GetMinSize
virtual void GetMinSize(CSize& size) const;
參數
[in] size
備註
CPaneContainer::GetMinSizeLeft
virtual void GetMinSizeLeft(CSize& size) const;
參數
[in] size
備註
CPaneContainer::GetMinSizeRight
virtual void GetMinSizeRight(CSize& size) const;
參數
[in] size
備註
CPaneContainer::GetNodeCount
int GetNodeCount() const;
傳回值
備註
CPaneContainer::GetPaneDivider
const CPaneDivider* GetPaneDivider() const;
傳回值
備註
CPaneContainer::GetParentPaneContainer
CPaneContainer* GetParentPaneContainer() const;
傳回值
備註
CPaneContainer::GetRecentPaneDividerRect
CRect GetRecentPaneDividerRect() const;
傳回值
備註
CPaneContainer::GetRecentPaneDividerStyle
DWORD GetRecentPaneDividerStyle() const;
傳回值
備註
CPaneContainer::GetRecentPercent
int GetRecentPercent();
傳回值
備註
CPaneContainer::GetRefCount
LONG GetRefCount();
傳回值
備註
CPaneContainer::GetResizeStep
virtual int GetResizeStep() const;
傳回值
備註
CPaneContainer::GetRightPane
const CDockablePane* GetRightPane() const;
傳回值
備註
CPaneContainer::GetRightPaneContainer
const CPaneContainer* GetRightPaneContainer() const;
傳回值
備註
CPaneContainer::GetTotalReferenceCount
int GetTotalReferenceCount() const;
傳回值
備註
CPaneContainer::GetWindowRect
virtual void GetWindowRect(
CRect& rect,
BOOL bIgnoreVisibility = FALSE) const;
參數
[in] rect
[in] bIgnoreVisibility
備註
CPaneContainer::IsDisposed
BOOL IsDisposed() const;
傳回值
備註
CPaneContainer::IsEmpty
BOOL IsEmpty() const;
傳回值
備註
CPaneContainer::IsLeftPane
BOOL IsLeftPane(CDockablePane* pBar) const;
參數
[in] pBar
傳回值
備註
CPaneContainer::IsLeftPaneContainer
BOOL IsLeftPaneContainer() const;
傳回值
備註
CPaneContainer::IsLeftPartEmpty
BOOL IsLeftPartEmpty(BOOL bCheckVisibility = FALSE) const;
參數
[in] bCheckVisibility
傳回值
備註
CPaneContainer::IsRightPartEmpty
BOOL IsRightPartEmpty(BOOL bCheckVisibility = FALSE) const;
參數
[in] bCheckVisibility
傳回值
備註
CPaneContainer::IsVisible
BOOL IsVisible() const;
傳回值
備註
CPaneContainer::Move
virtual void Move(CPoint ptNewLeftTop);
參數
[in] ptNewLeftTop
備註
CPaneContainer::OnDeleteHidePane
void OnDeleteHidePane(
CDockablePane* pBar,
BOOL bHide);
參數
[in] pBar
[in] bHide
備註
CPaneContainer::OnMoveInternalPaneDivider
virtual int OnMoveInternalPaneDivider(
int nOffset,
HDWP& hdwp);
參數
[in] nOffset
[in] hdwp
傳回值
備註
CPaneContainer::OnShowPane
virtual void OnShowPane(
CDockablePane* pBar,
BOOL bShow);
參數
[in] pBar
[in] bShow
備註
CPaneContainer::Release
DWORD Release();
傳回值
備註
CPaneContainer::ReleaseEmptyPaneContainer
void ReleaseEmptyPaneContainer();
備註
CPaneContainer::RemoveNonValidPanes
void RemoveNonValidPanes();
備註
CPaneContainer::RemovePane
virtual void RemovePane(CDockablePane* pBar);
參數
[in] pBar
備註
CPaneContainer::Resize
virtual void Resize(
CRect rect,
HDWP& hdwp,
BOOL bRedraw = FALSE);
參數
[in] rect
[in] hdwp
[in] bRedraw
備註
CPaneContainer::ResizePane
virtual void ResizePane(
int nOffset,
CPane* pBar,
CPaneContainer* pContainer,
BOOL bHorz,
BOOL bLeftBar,
HDWP& hdwp);
參數
[in] nOffset
[in] pBar
[in] pContainer
[in] bHorz
[in] bLeftBar
[in] hdwp
備註
CPaneContainer::ResizePartOfPaneContainer
virtual void ResizePartOfPaneContainer(
int nOffset,
BOOL bLeftPart,
HDWP& hdwp);
參數
[in] nOffset
[in] bLeftPart
[in] hdwp
備註
CPaneContainer::Serialize
void Serialize(CArchive& ar);
參數
[in] ar
備註
CPaneContainer::SetPane
void SetPane(
CDockablePane* pBar,
BOOL bLeft);
參數
[in] pBar
[in] bLeft
備註
CPaneContainer::SetPaneContainer
void SetPaneContainer(
CPaneContainer* pContainer,
BOOL bLeft);
參數
[in] pContainer
[in] bLeft
備註
CPaneContainer::SetPaneDivider
void SetPaneDivider(CPaneDivider* pSlider);
參數
[in] pSlider
備註
CPaneContainer::SetParentPaneContainer
void SetParentPaneContainer(CPaneContainer* p);
參數
[in] p
備註
CPaneContainer::SetRecentPercent
void SetRecentPercent(int nRecentPercent);
參數
[in] nRecentPercent
備註
CPaneContainer::SetUpByID
BOOL SetUpByID(
UINT nID,
CDockablePane* pBar);
參數
[in] nID
[in] pBar
傳回值
備註
CPaneContainer::StoreRecentDockSiteInfo
virtual void StoreRecentDockSiteInfo(CDockablePane* pBar);
參數
[in] pBar
備註
CPaneContainer::StretchPaneContainer
virtual int StretchPaneContainer(
int nOffset,
BOOL bStretchHorz,
BOOL bLeftBar,
BOOL bMoveSlider,
HDWP& hdwp);
參數
[in] nOffset
[in] bStretchHorz
[in] bLeftBar
[in] bMoveSlider
[in] hdwp