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


Класс CPaneDivider

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

Класс CPaneDivider делит две области, делит две группы панелей или отделяет группу панелей от клиентской области главного окна фрейма.

Синтаксис

class CPaneDivider : public CBasePane

Участники

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

Имя Описание
CPaneDivider::CPaneDivider

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

Имя Описание
CPaneDivider::AddPaneContainer
CPaneDivider::AddPane
CPaneDivider::AddRecentPane
CPaneDivider::CalcExpectedDockedRect
CPaneDivider::CalcFixedLayout (Переопределения CBasePane::CalcFixedLayout.)
CPaneDivider::CheckVisibility
CPaneDivider::CreateEx (Переопределения CBasePane::CreateEx.)
CPaneDivider::D oesAllowDynInsertBefore (Переопределения CBasePane::D oesAllowDynInsertBefore.)
CPaneDivider::D oesContainFloatingPane
CPaneDivider::FindPaneContainer
CPaneDivider::FindTabbedPane
CPaneDivider::GetDefaultWidth
CPaneDivider::GetFirstPane
CPaneDivider::GetPaneDividers Возвращает список разделителей области, которые находятся в классе CPaneContainer. Этот метод должен вызываться только для разделителей областей по умолчанию.
CPaneDivider::GetPaneDividerStyle
CPaneDivider::GetPanes Возвращает список панелей, которые находятся в классе CPaneContainer. Этот метод должен вызываться только для разделителей областей по умолчанию.
CPaneDivider::GetRootContainerRect
CPaneDivider::GetWidth
CPaneDivider::Init
CPaneDivider::InsertPane
CPaneDivider::IsAutoHideMode (Переопределения CBasePane::IsAutoHideMode.)
CPaneDivider::IsDefault
CPaneDivider::IsHorizontal (Переопределения CBasePane::IsHorizontal.)
CPaneDivider::Move
CPaneDivider::NotifyAboutRelease
CPaneDivider::OnShowPane
CPaneDivider::ReleaseEmptyPaneContainers
CPaneDivider::RemovePane
CPaneDivider::ReplacePane
CPaneDivider::RepositionPanes
CPaneDivider::Serialize (Переопределяет CBasePane::Serialize.)
CPaneDivider::SetAutoHideMode
CPaneDivider::SetPaneContainerManager
CPaneDivider::ShowWindow
CPaneDivider::StoreRecentDockSiteInfo
CPaneDivider::StoreRecentTabRelatedInfo
Имя Описание
CPaneDivider::m_nDefaultWidth Задает ширину по умолчанию в пикселях всех разделителей панели в приложении.
CPaneDivider::m_pSliderRTC Содержит указатель на сведения о классе среды выполнения о производном объекте CPaneDivider.

Замечания

Платформа автоматически создает CPaneDivider объекты при закреплении области.

Существует два типа разделителей области:

  • Разделитель области по умолчанию создается при закреплении группы панелей на стороне главного окна кадра. Разделитель области по умолчанию содержит указатель на класс CPaneContainerManager и перенаправляет большинство операций в группе панелей (например, изменение размера панели или закрепление другой панели или контейнера) к диспетчеру контейнеров. Каждая панель док-станции поддерживает указатель на разделитель области по умолчанию.

  • Регулярный разделитель области просто делит две области в контейнере. Дополнительные сведения см. в разделе CPaneContainer Class.

Пример

В этом примере демонстрируется получение объекта CPaneDivider из объекта CWorkspaceBar. Этот фрагмент кода является частью примера демонстрации вкладок MDI.

// CWorkspaceBar m_wndWorkSpace
CPaneDivider *pSlider = m_wndWorkSpace.GetDefaultPaneDivider();

Иерархия наследования

CObject
└ CCmdTarget
└ CWnd
  └ CBasePane
   └ CPaneDivider

Требования

Заголовок: afxPaneDivider.h

CPaneDivider::SetAutoHideMode

void SetAutoHideMode(BOOL bMode);

Параметры

[in] bMode

Замечания

CPaneDivider::SetPaneContainerManager

void SetPaneContainerManager(CPaneContainerManager* p);

Параметры

[in] p

Замечания

CPaneDivider::AddPane

virtual void AddPane(CDockablePane* pBar);

Параметры

[in] pBar

Замечания

CPaneDivider::AddPaneContainer

virtual BOOL AddPaneContainer(
    CPaneContainerManager& barContainerManager,
    BOOL bOuterEdge);

virtual BOOL AddPaneContainer(
    CDockablePane* pTargetBar,
    CPaneContainerManager& barContainerManager,
    DWORD dwAlignment);

Параметры

[in] barContainerManager
[in] bOuterEdge
[in] pTargetBar
[in] dwAlignment

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

Замечания

CPaneDivider::AddRecentPane

virtual CDockablePane* AddRecentPane(CDockablePane* pBar);

Параметры

[in] pBar

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

Замечания

CPaneDivider::CalcExpectedDockedRect

virtual void CalcExpectedDockedRect(
    CWnd* pWndToDock,
    CPoint ptMouse,
    CRect& rectResult,
    BOOL& bDrawTab,
    CDockablePane** ppTargetBar);

Параметры

[in] pWndToDock
[in] ptMouse
[in] rectResult
[in] bDrawTab
[in] ppTargetBar

Замечания

CPaneDivider::CalcFixedLayout

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

Параметры

[in] bStretch
[in] bHorz

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

Замечания

CPaneDivider::CheckVisibility

virtual BOOL CheckVisibility();

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

Замечания

CPaneDivider::CPaneDivider

CPaneDivider();

CPaneDivider(
    BOOL bDefaultSlider,
    CWnd* pParent = NULL);

Параметры

[in] bDefaultSlider
[in] pParent

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

Замечания

CPaneDivider::CreateEx

virtual BOOL CreateEx(
    DWORD dwStyleEx,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    CCreateContext* pContext);

Параметры

[in] dwStyleEx
[in] dwStyle
[in] rect
[in] pParentWnd
[in] nID
[in] pContext

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

Замечания

CPaneDivider::D oesAllowDynInsertBefore

virtual BOOL DoesAllowDynInsertBefore() const;

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

Замечания

CPaneDivider::D oesContainFloatingPane

virtual BOOL DoesContainFloatingPane();

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

Замечания

CPaneDivider::FindPaneContainer

CPaneContainer* FindPaneContainer(
    CDockablePane* pBar,
    BOOL& bLeftBar);

Параметры

[in] pBar
[in] bLeftBar

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

Замечания

CPaneDivider::FindTabbedPane

CDockablePane* FindTabbedPane(UINT nID);

Параметры

[in] nID

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

Замечания

CPaneDivider::GetDefaultWidth

static int __stdcall GetDefaultWidth();

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

Замечания

CPaneDivider::GetFirstPane

const CBasePane* GetFirstPane() const;

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

Замечания

CPaneDivider::GetPaneDividers

Возвращает список разделителей области, которые находятся в классе CPaneContainer. Этот метод должен вызываться только для разделителей областей по умолчанию.

void GetPaneDividers(CObList& lstSliders);

Параметры

lstSliders
[out] Содержит список разделителей области, которые находятся в контейнере панели.

Замечания

Этот метод должен вызываться только для разделителей областей по умолчанию. Разделитель области по умолчанию — это разделитель, который изменяет размер всего контейнера панели.

CPaneDivider::GetPaneDividerStyle

DWORD GetPaneDividerStyle() const;

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

Замечания

CPaneDivider::GetPanes

Возвращает список панелей, которые находятся в классе CPaneContainer. Этот метод должен вызываться только для получения разделителей областей по умолчанию.

void GetPanes(CObList& lstBars);

Параметры

lstBars
[out] Содержит список панелей, находящихся в контейнере панели.

Замечания

Этот метод должен вызываться только для разделителей областей по умолчанию. Разделитель области по умолчанию — это разделитель, который изменяет размер всего контейнера панели.

CPaneDivider::GetRootContainerRect

CRect GetRootContainerRect();

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

Замечания

CPaneDivider::GetWidth

int GetWidth() const;

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

Замечания

CPaneDivider::Init

void Init(
    BOOL bDefaultSlider = FALSE,
    CWnd* pParent = NULL);

Параметры

[in] bDefaultSlider
[in] pParent

Замечания

CPaneDivider::InsertPane

virtual BOOL InsertPane(
    CDockablePane* pBarToInsert,
    CDockablePane* pTargetBar,
    DWORD dwAlignment,
    LPCRECT lpRect = NULL);

Параметры

[in] pBarToInsert
[in] pTargetBar
[in] dwAlignment
[in] lpRect

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

Замечания

CPaneDivider::IsAutoHideMode

BOOL IsAutoHideMode() const;

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

Замечания

CPaneDivider::IsDefault

BOOL IsDefault() const;

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

Замечания

CPaneDivider::IsHorizontal

BOOL IsHorizontal() const;

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

Замечания

CPaneDivider::m_nDefaultWidth

Задает ширину по умолчанию (в пикселях) всех разделителей области в приложении.

AFX_IMPORT_DATA static int m_nDefaultWidth;

CPaneDivider::Move

virtual void Move(
    CPoint& ptOffset,
    BOOL bAdjustLayout = TRUE);

Параметры

[in] ptOffset
[in] bAdjustLayout

Замечания

CPaneDivider::m_pSliderRTC

Содержит указатель на сведения о классе среды выполнения о производном объекте CPaneDivider.

AFX_IMPORT_DATA static CRuntimeClass* m_pSliderRTC;

Замечания

Установите эту переменную-член, если вы создаете настраиваемый разделитель области. Это позволяет платформе создавать разделитель области при рисовании панели.

Пример

В следующем примере показано, как задать m_pSliderRTC переменную члена:

class CMySplitter : public CPaneDivider
{
...
};

CPaneDivider::m_pSliderRTC = RUNTIME_CLASS(CMySpliter);

CPaneDivider::NotifyAboutRelease

virtual void NotifyAboutRelease();

Замечания

CPaneDivider::OnShowPane

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

Параметры

[in] pBar
[in] bShow

Замечания

CPaneDivider::ReleaseEmptyPaneContainers

void ReleaseEmptyPaneContainers();

Замечания

CPaneDivider::RemovePane

virtual void RemovePane(CDockablePane* pBar);

Параметры

[in] pBar

Замечания

CPaneDivider::ReplacePane

virtual BOOL ReplacePane(
    CDockablePane* pBarToReplace,
    CDockablePane* pBarToReplaceWith);

Параметры

[in] pBarToReplace
[in] pBarToReplaceWith

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

Замечания

CPaneDivider::RepositionPanes

virtual void RepositionPanes(
    CRect& rectNew,
    HDWP& hdwp);

Параметры

[in] rectNew
[in] hdwp

Замечания

CPaneDivider::Serialize

void Serialize(CArchive& ar);

Параметры

[in] ar

Замечания

CPaneDivider::ShowWindow

void ShowWindow(int nCmdShow);

Параметры

[in] nCmdShow

Замечания

CPaneDivider::StoreRecentDockSiteInfo

void StoreRecentDockSiteInfo(CDockablePane* pBar);

Параметры

[in] pBar

Замечания

CPaneDivider::StoreRecentTabRelatedInfo

void StoreRecentTabRelatedInfo(
    CDockablePane* pDockingBar,
    CDockablePane* pTabbedBar);

Параметры

[in] pDockingBar
[in] pTabbedBar

Замечания

См. также

Диаграмма иерархии
Классы
Класс CPaneContainerManager
Класс CPaneContainer
Класс CDockingManager
Класс CBasePane