Поделиться через


Класс CPaneContainer

Класс CPaneContainer является базовым компонентом модели закрепления, реализованной MFC. Объект этого класса сохраняет указатели на две панели закрепления или два экземпляра CPaneContainer. Он также сохраняет указатель на разделитель, разделяющий панели (или контейнеры). Вкладывая контейнеры внутрь контейнеров, платформа строит двоичное дерево, представляющее сложные макеты закрепления. Корень двоичного дерева хранится в объекте CPaneContainerManager .

Дополнительные сведения см. в исходном коде, расположенном в папке VC\atlmfc\src\mfc установки Visual Studio.

Синтаксис

class CPaneContainer : public CObject

Участники

Открытые конструкторы

Имя Описание
CPaneContainer::CPaneContainer Конструктор по умолчанию.

Открытые методы

Имя Описание
CPaneContainer::AddPane
CPaneContainer::AddRef
CPaneContainer::AddSubPaneContainer
CPaneContainer::CalcAvailablePaneSpace
CPaneContainer::CalcAvailableSpace
CPaneContainer::CalculateRecentSize
CPaneContainer::CheckPaneDividerVisibility
CPaneContainer::Copy
CPaneContainer::D eletePane
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

Возвращаемое значение

Замечания

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::D eletePane

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] Размер

Замечания

CPaneContainer::GetMinSizeLeft

virtual void GetMinSizeLeft(CSize& size) const;

Параметры

[in] Размер

Замечания

CPaneContainer::GetMinSizeRight

virtual void GetMinSizeRight(CSize& size) const;

Параметры

[in] Размер

Замечания

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

Возвращаемое значение

Замечания

См. также

Диаграмма иерархии
Классы
Класс CObject
Класс CPaneContainerManager