다음을 통해 공유


CPaneContainer 클래스

CPaneContainer 클래스는 MFC에서 구현된 도킹 모델의 기본 구성 요소입니다. 이 클래스의 개체는 두 개의 도킹 창 또는 CPaneContainer의 두 인스턴스에 대한 포인터를 저장합니다. 또한 창(또는 컨테이너)을 구분하는 구분선에 대한 포인터도 저장합니다. 컨테이너 안에 컨테이너를 중첩하면 프레임워크에서 복잡한 도킹 레이아웃을 나타내는 이진 트리를 빌드할 수 있습니다. 이진 트리의 루트는 CPaneContainerManager 개체에 저장됩니다.

더 자세한 내용은 Visual Studio 설치의 VC\atlmfc\src\mfc 폴더에 있는 소스 코드를 참조하세요.

구문

class CPaneContainer : public CObject

멤버

공용 생성자

속성 설명
CPaneContainer::CPaneContainer 기본 생성자입니다.

공용 메서드

이름 설명
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 이 개체를 보관 저장소에서 읽어오거나 보관 저장소에 씁니다. ( CObject::Serialize를 재정의합니다.)
CPaneContainer::SetPane
CPaneContainer::SetPaneContainer
CPaneContainer::SetPaneDivider
CPaneContainer::SetParentPaneContainer
CPaneContainer::SetRecentPercent
CPaneContainer::SetUpByID
CPaneContainer::StoreRecentDockSiteInfo
CPaneContainer::StretchPaneContainer

설명

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);

상속 계층 구조

CObject

CPaneContainer

요구 사항

헤더: afxpanecontainer.h

CPaneContainer::AddPane

CDockablePane* AddPane(CDockablePane* pBar);

매개 변수

[in] pBar

Return Value

설명

CPaneContainer::AddRef

void AddRef();

설명

CPaneContainer::AddSubPaneContainer

BOOL AddSubPaneContainer(
    CPaneContainer* pContainer,
    BOOL bRightNodeNew);

매개 변수

[in] pContainer
[in] bRightNodeNew

Return Value

설명

CPaneContainer::CalcAvailablePaneSpace

virtual int CalcAvailablePaneSpace(
    int nRequiredOffset,
    CPane* pBar,
    CPaneContainer* pContainer,
    BOOL bLeftBar);

매개 변수

[in] nRequiredOffset
[in] pBar
[in] pContainer
[in] bLeftBar

Return Value

설명

CPaneContainer::CalcAvailableSpace

virtual CSize CalcAvailableSpace(
    CSize sizeStretch,
    BOOL bLeftBar);

매개 변수

[in] sizeStretch
[in] bLeftBar

Return Value

설명

CPaneContainer::CalculateRecentSize

void CalculateRecentSize();

설명

CPaneContainer::CheckPaneDividerVisibility

void CheckPaneDividerVisibility();

설명

CPaneContainer::Copy

virtual CPaneContainer* Copy(CPaneContainer* pParentContainer);

매개 변수

[in] pParentContainer

Return Value

설명

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

Return Value

설명

CPaneContainer::FindTabbedPane

CDockablePane* FindTabbedPane(UINT nID);

매개 변수

[in] nID

Return Value

설명

CPaneContainer::GetAssociatedSiblingPaneIDs

CList<UINT, UINT>* GetAssociatedSiblingPaneIDs(CDockablePane* pBar);

매개 변수

[in] pBar

Return Value

설명

CPaneContainer::GetLeftPane

const CDockablePane* GetLeftPane() const;

Return Value

설명

CPaneContainer::GetLeftPaneContainer

const CPaneContainer* GetLeftPaneContainer() const;

Return Value

설명

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;

Return Value

설명

CPaneContainer::GetPaneDivider

const CPaneDivider* GetPaneDivider() const;

Return Value

설명

CPaneContainer::GetParentPaneContainer

CPaneContainer* GetParentPaneContainer() const;

Return Value

설명

CPaneContainer::GetRecentPaneDividerRect

CRect GetRecentPaneDividerRect() const;

Return Value

설명

CPaneContainer::GetRecentPaneDividerStyle

DWORD GetRecentPaneDividerStyle() const;

Return Value

설명

CPaneContainer::GetRecentPercent

int GetRecentPercent();

Return Value

설명

CPaneContainer::GetRefCount

LONG GetRefCount();

Return Value

설명

CPaneContainer::GetResizeStep

virtual int GetResizeStep() const;

Return Value

설명

CPaneContainer::GetRightPane

const CDockablePane* GetRightPane() const;

Return Value

설명

CPaneContainer::GetRightPaneContainer

const CPaneContainer* GetRightPaneContainer() const;

Return Value

설명

CPaneContainer::GetTotalReferenceCount

int GetTotalReferenceCount() const;

Return Value

설명

CPaneContainer::GetWindowRect

virtual void GetWindowRect(
    CRect& rect,
    BOOL bIgnoreVisibility = FALSE) const;

매개 변수

[in] rect
[in] bIgnoreVisibility

설명

CPaneContainer::IsDisposed

BOOL IsDisposed() const;

Return Value

설명

CPaneContainer::IsEmpty

BOOL IsEmpty() const;

Return Value

설명

CPaneContainer::IsLeftPane

BOOL IsLeftPane(CDockablePane* pBar) const;

매개 변수

[in] pBar

Return Value

설명

CPaneContainer::IsLeftPaneContainer

BOOL IsLeftPaneContainer() const;

Return Value

설명

CPaneContainer::IsLeftPartEmpty

BOOL IsLeftPartEmpty(BOOL bCheckVisibility = FALSE) const;

매개 변수

[in] bCheckVisibility

Return Value

설명

CPaneContainer::IsRightPartEmpty

BOOL IsRightPartEmpty(BOOL bCheckVisibility = FALSE) const;

매개 변수

[in] bCheckVisibility

Return Value

설명

CPaneContainer::IsVisible

BOOL IsVisible() const;

Return Value

설명

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

Return Value

설명

CPaneContainer::OnShowPane

virtual void OnShowPane(
    CDockablePane* pBar,
    BOOL bShow);

매개 변수

[in] pBar
[in] bShow

설명

CPaneContainer::Release

DWORD Release();

Return Value

설명

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

Return Value

설명

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

Return Value

설명

참고 항목

계층 구조 차트
클래스
CObject 클래스
CPaneContainerManager 클래스