Класс CMultiPaneFrameWnd
Класс CMultiPaneFrameWnd
расширяет класс CPaneFrameWnd. Может поддерживать несколько областей. Вместо одного внедренного дескриптора на панели управления содержит объект класса CPaneContainerManager, CMultiPaneFrameWnd
который позволяет пользователю прикрепляться к CMultiPaneFrameWnd
другому и динамически создавать несколько с плавающей запятой окон.
Дополнительные сведения см. в исходном коде, расположенном в папке VC\atlmfc\src\mfc установки Visual Studio.
Синтаксис
class CMultiPaneFrameWnd : public CPaneFrameWnd
Участники
Открытые методы
Замечания
Большинство методов в этом классе переопределяют методы в классе CPaneFrameWnd .
Если в области используется стиль AFX_CBRS_AUTO_ROLLUP, а пользователь закрепляет эту панель в окне с несколькими панелями, пользователь может свернуть окно независимо от параметров стиля других закрепленных панелей.
Платформа автоматически создает CMultiPaneFrameWnd
объект, когда пользователь с плавает панелью, использующую стиль CBRS_FLOAT_MULTI.
Сведения о выводе класса из CPaneFrameWnd
класса и его динамическом создании см. в разделе CPaneFrameWnd.
Пример
В следующем примере показано, как получить указатель на CMultiPaneFrameWnd
объект. Этот фрагмент кода является частью примера "Задать размер области".
// CDockablePane* pBar
CMultiPaneFrameWnd *pParentMiniFrame =
DYNAMIC_DOWNCAST(CMultiPaneFrameWnd, pBar->GetParentMiniFrame());
Иерархия наследования
Требования
Заголовок: 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