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


Класс CMultiPaneFrameWnd

Класс CMultiPaneFrameWnd расширяет класс CPaneFrameWnd. Может поддерживать несколько областей. Вместо одного внедренного дескриптора на панели управления содержит объект класса CPaneContainerManager, CMultiPaneFrameWnd который позволяет пользователю прикрепляться к CMultiPaneFrameWnd другому и динамически создавать несколько с плавающей запятой окон.

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

Синтаксис

class CMultiPaneFrameWnd : public CPaneFrameWnd

Участники

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

Имя Описание
CMultiPaneFrameWnd::AddPane Добавляет панель. (Переопределения CPaneFrameWnd::AddPane.)
CMultiPaneFrameWnd::AddRecentPane
CMultiPaneFrameWnd::AdjustLayout Настраивает макет окна области. (Переопределения CPaneFrameWnd::AdjustLayout.)
CMultiPaneFrameWnd::AdjustPaneFrames (Переопределения CPaneFrameWnd::AdjustPaneFrames.)
CMultiPaneFrameWnd::CalcExpectedDockedRect Вычисляет ожидаемый прямоугольник закрепленного окна. (Переопределения CPaneFrameWnd::CalcExpectedDockedRect.)
CMultiPaneFrameWnd::CanBeAttached Определяет, может ли текущая панель закрепиться на другой панели или окне кадра. (Переопределения CPaneFrameWnd::CanBeAttached.)
CMultiPaneFrameWnd::CanBeDockedToPane Определяет, может ли окно мини-кадра закрепиться на панели. (Переопределения CPaneFrameWnd::CanBeDockedToPane.)
CMultiPaneFrameWnd::CheckGripperVisibility (Переопределения CPaneFrameWnd::CheckGripperVisibility.)
CMultiPaneFrameWnd::CloseMiniFrame (Переопределяет CPaneFrameWnd::CloseMiniFrame.)
CMultiPaneFrameWnd::ConvertToTabbedDocument Преобразует панель в документ с вкладками. (Переопределения CPaneFrameWnd::ConvertToTabbedDocument.)
CMultiPaneFrameWnd::D ockFrame
CMultiPaneFrameWnd::D ockPane Закрепляет область. (Переопределения CPaneFrameWnd::D ockPane.)
CMultiPaneFrameWnd::D ockRecentPaneToMainFrame
CMultiPaneFrameWnd::GetCaptionText Возвращает текст заголовка. (Переопределения CPaneFrameWnd::GetCaptionText.)
CMultiPaneFrameWnd::GetPaneContainerManager Возвращает ссылку на внутренний объект диспетчера контейнеров.
CMultiPaneFrameWnd::GetFirstVisiblePane Возвращает первую видимую панель, содержащуюся в окне области. (Переопределения CPaneFrameWnd::GetFirstVisiblePane.)
CMultiPaneFrameWnd::GetPane Возвращает панель, содержащуюся в окне области. (Переопределения CPaneFrameWnd::GetPane.)
CMultiPaneFrameWnd::GetPaneCount Возвращает число панелей, содержащихся в окне области. (Переопределения CPaneFrameWnd::GetPaneCount.)
CMultiPaneFrameWnd::GetVisiblePaneCount Возвращает число видимых панелей, содержащихся в окне области. (Переопределения CPaneFrameWnd::GetVisiblePaneCount.)
CMultiPaneFrameWnd::InsertPane
CMultiPaneFrameWnd::LoadState Загружает состояние панели из реестра. (Переопределения CPaneFrameWnd::LoadState.)
CMultiPaneFrameWnd::OnDockToRecentPos Закрепляет окно области в его последней позиции. (Переопределения CPaneFrameWnd::OnDockToRecentPos.)
CMultiPaneFrameWnd::OnKillRollUpTimer Останавливает таймер свертки. (Переопределения CPaneFrameWnd::OnKillRollUpTimer.)
CMultiPaneFrameWnd::OnPaneRecalcLayout Настраивает макет области в окне мини-кадра. (Переопределения CPaneFrameWnd::OnPaneRecalcLayout.)
CMultiPaneFrameWnd::OnSetRollUpTimer Устанавливает таймер свертки. (Переопределения CPaneFrameWnd::OnSetRollUpTimer.)
CMultiPaneFrameWnd::OnShowPane Вызывается платформой при скрытии или отображении панели в окне области. (Переопределения CPaneFrameWnd::OnShowPane.)
CMultiPaneFrameWnd::P aneFromPoint Возвращает панель, если она содержит предоставленную пользователем точку в пределах окна области. (Переопределения CPaneFrameWnd::P aneFromPoint.)
CMultiPaneFrameWnd::RemoveNonValidPanes Вызывается платформой для удаления недопустимых панелей. (Переопределения CPaneFrameWnd::RemoveNonValidPanes.)
CMultiPaneFrameWnd::RemovePane Удаляет панель из окна области. (Переопределения CPaneFrameWnd::RemovePane.)
CMultiPaneFrameWnd::ReplacePane Заменяет одну панель другой. (Переопределения CPaneFrameWnd::ReplacePane.)
CMultiPaneFrameWnd::SaveState Сохраняет состояние панели в реестр. (Переопределения CPaneFrameWnd::SaveState.)
CMultiPaneFrameWnd::Serialize (Переопределяет CPaneFrameWnd::Serialize.)
CMultiPaneFrameWnd::SetDockState Задает состояние закрепления. (Переопределения CPaneFrameWnd::SetDockState.)
CMultiPaneFrameWnd::SetLastFocusedPane
CMultiPaneFrameWnd::SetPreDockState Задает состояние предварительного макета. (Переопределения CPaneFrameWnd::SetPreDockState.)
CMultiPaneFrameWnd::StoreRecentDockSiteInfo (Переопределения CPaneFrameWnd::StoreRecentDockSiteInfo.)
CMultiPaneFrameWnd::StoreRecentTabRelatedInfo (Переопределения CPaneFrameWnd::StoreRecentTabRelatedInfo.)

Замечания

Большинство методов в этом классе переопределяют методы в классе CPaneFrameWnd .

Если в области используется стиль AFX_CBRS_AUTO_ROLLUP, а пользователь закрепляет эту панель в окне с несколькими панелями, пользователь может свернуть окно независимо от параметров стиля других закрепленных панелей.

Платформа автоматически создает CMultiPaneFrameWnd объект, когда пользователь с плавает панелью, использующую стиль CBRS_FLOAT_MULTI.

Сведения о выводе класса из CPaneFrameWnd класса и его динамическом создании см. в разделе CPaneFrameWnd.

Пример

В следующем примере показано, как получить указатель на CMultiPaneFrameWnd объект. Этот фрагмент кода является частью примера "Задать размер области".

// CDockablePane* pBar
CMultiPaneFrameWnd *pParentMiniFrame =
    DYNAMIC_DOWNCAST(CMultiPaneFrameWnd, pBar->GetParentMiniFrame());

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

CObject

CCmdTarget

CWnd

CPaneFrameWnd

CMultiPaneFrameWnd

Требования

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

CMultiPaneFrameWnd::AddPane

virtual void AddPane(CBasePane* pWnd);

Параметры

[in] pWnd

Замечания

CMultiPaneFrameWnd::AddRecentPane

virtual BOOL AddRecentPane(CDockablePane* pBar);

Параметры

[in] pBar

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

Замечания

CMultiPaneFrameWnd::AdjustLayout

virtual void AdjustLayout();

Замечания

CMultiPaneFrameWnd::AdjustPaneFrames

virtual void AdjustPaneFrames();

Замечания

CMultiPaneFrameWnd::CalcExpectedDockedRect

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

Параметры

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

Замечания

CMultiPaneFrameWnd::CanBeAttached

virtual BOOL CanBeAttached() const;

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

Замечания

CMultiPaneFrameWnd::CanBeDockedToPane

virtual BOOL CanBeDockedToPane(const CDockablePane* pDockingBar) const;

Параметры

[in] pDockingBar

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

Замечания

CMultiPaneFrameWnd::CheckGripperVisibility

virtual void CheckGripperVisibility();

Замечания

CMultiPaneFrameWnd::CloseMiniFrame

virtual void CloseMiniFrame();

Замечания

CMultiPaneFrameWnd::ConvertToTabbedDocument

virtual void ConvertToTabbedDocument();

Замечания

CMultiPaneFrameWnd::D ockFrame

virtual BOOL DockFrame(
    CPaneFrameWnd* pDockedFrame,
    AFX_DOCK_METHOD dockMethod);

Параметры

[in] pDockedFrame
[in] dockMethod

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

Замечания

CMultiPaneFrameWnd::D ockPane

virtual BOOL DockPane(CDockablePane* pDockedBar);

Параметры

[in] pDockedBar

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

Замечания

CMultiPaneFrameWnd::D ockRecentPaneToMainFrame

virtual void DockRecentPaneToMainFrame(CDockablePane* pBar);

Параметры

[in] pBar

Замечания

CMultiPaneFrameWnd::GetCaptionText

virtual CString GetCaptionText();

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

Замечания

CMultiPaneFrameWnd::GetFirstVisiblePane

virtual CWnd* GetFirstVisiblePane() const;

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

Замечания

CMultiPaneFrameWnd::GetPane

virtual CWnd* GetPane() const;

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

Замечания

CMultiPaneFrameWnd::GetPaneContainerManager

Возвращает ссылку на внутренний объект диспетчера контейнеров.

CPaneContainerManager& GetPaneContainerManager();

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

Ссылка на внутренний объект диспетчера контейнеров.

Замечания

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

CMultiPaneFrameWnd::GetPaneCount

virtual int GetPaneCount() const;

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

Замечания

CMultiPaneFrameWnd::GetVisiblePaneCount

virtual int GetVisiblePaneCount() const;

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

Замечания

CMultiPaneFrameWnd::InsertPane

virtual BOOL InsertPane(
    CBasePane* pControlBar,
    CBasePane* pTarget,
    BOOL bAfter);

Параметры

[in] pControlBar
[in] pTarget
[in] bAfter

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

Замечания

CMultiPaneFrameWnd::LoadState

virtual BOOL LoadState(
    LPCTSTR lpszProfileName = NULL,
    UINT uiID = (UINT) -1);

Параметры

[in] lpszProfileName
[in] uiID

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

Замечания

CMultiPaneFrameWnd::OnDockToRecentPos

virtual void OnDockToRecentPos();

Замечания

CMultiPaneFrameWnd::OnKillRollUpTimer

virtual void OnKillRollUpTimer();

Замечания

CMultiPaneFrameWnd::OnPaneRecalcLayout

virtual void OnPaneRecalcLayout();

Замечания

CMultiPaneFrameWnd::OnSetRollUpTimer

virtual void OnSetRollUpTimer();

Замечания

CMultiPaneFrameWnd::OnShowPane

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

Параметры

[in] pBar
[in] bShow

Замечания

CMultiPaneFrameWnd::P aneFromPoint

virtual CBasePane* PaneFromPoint(
    CPoint point,
    int nSensitivity,
    BOOL bCheckVisibility);

Параметры

[in] точка
[in] nSensitivity
[in] bCheckVisibility

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

Замечания

CMultiPaneFrameWnd::RemoveNonValidPanes

virtual void RemoveNonValidPanes();

Замечания

CMultiPaneFrameWnd::RemovePane

virtual void RemovePane(
    CBasePane* pBar,
    BOOL bDestroy = FALSE,
    BOOL bNoDelayedDestroy = TRUE);

Параметры

[in] pBar
[in] bDesk
[in] bNoDelayedDelayedDesk

Замечания

CMultiPaneFrameWnd::ReplacePane

virtual void ReplacePane(
    CBasePane* pBarOrg,
    CBasePane* pBarReplaceWith);

Параметры

[in] pBarOrg
[in] pBarReplaceWith

Замечания

CMultiPaneFrameWnd::SaveState

virtual BOOL SaveState(
    LPCTSTR lpszProfileName = NULL,
    UINT uiID = (UINT) -1);

Параметры

[in] lpszProfileName
[in] uiID

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

Замечания

CMultiPaneFrameWnd::Serialize

virtual void Serialize(CArchive& ar);

Параметры

[in] ar

Замечания

CMultiPaneFrameWnd::SetDockState

virtual void SetDockState(CDockingManager* pDockManager);

Параметры

[in] pDockManager

Замечания

CMultiPaneFrameWnd::SetLastFocusedPane

void SetLastFocusedPane(HWND hwnd);

Параметры

[in] hwnd

Замечания

CMultiPaneFrameWnd::SetPreDockState

virtual BOOL SetPreDockState(
    AFX_PREDOCK_STATE preDockState,
    CBasePane* pBarToDock = NULL,
    AFX_DOCK_METHOD dockMethod = DM_MOUSE);

Параметры

[in] preDockState
[in] pBarToDock
[in] dockMethod

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

Замечания

CMultiPaneFrameWnd::StoreRecentDockSiteInfo

virtual void StoreRecentDockSiteInfo(CPane* pBar);

Параметры

[in] pBar

Замечания

CMultiPaneFrameWnd::StoreRecentTabRelatedInfo

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

Параметры

[in] pDockingBar
[in] pTabbedBar

Замечания

См. также

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