description | title | ms.date | f1_keywords | helpviewer_keywords | ms.assetid | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Learn more about: CMultiPaneFrameWnd Class |
CMultiPaneFrameWnd Class |
11/04/2016 |
|
|
989a548e-0d70-46b7-a513-8cf740e1be3e |
The CMultiPaneFrameWnd
class extends CPaneFrameWnd Class. It can support multiple panes. Instead of a single embedded handle to a control bar, CMultiPaneFrameWnd
contains a CPaneContainerManager Class object that enables the user to dock one CMultiPaneFrameWnd
to another and dynamically create multiple floating, tabbed windows.
For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.
class CMultiPaneFrameWnd : public CPaneFrameWnd
Most of the methods in this class override methods in the CPaneFrameWnd Class class.
If a pane uses the AFX_CBRS_AUTO_ROLLUP style and the user docks that pane to a multi-pane frame window, the user can roll up the window regardless of the style settings of the other docked panes.
The framework automatically creates a CMultiPaneFrameWnd
object when the user floats a pane that uses the CBRS_FLOAT_MULTI style.
For information about deriving a class from the CPaneFrameWnd
class and creating it dynamically, see CPaneFrameWnd.
The following example demonstrates how to retrieve a pointer to a CMultiPaneFrameWnd
object. This code snippet is part of the Set Pane Size sample.
[!code-cppNVC_MFC_SetPaneSize#4]
Header: afxMultiPaneFrameWnd.h
virtual void AddPane(CBasePane* pWnd);
[in] pWnd
virtual BOOL AddRecentPane(CDockablePane* pBar);
[in] pBar
virtual void AdjustLayout();
virtual void AdjustPaneFrames();
virtual void CalcExpectedDockedRect(
CWnd* pWndToDock,
CPoint ptMouse,
CRect& rectResult,
BOOL& bDrawTab,
CDockablePane** ppTargetBar);
[in] pWndToDock
[in] ptMouse
[in] rectResult
[in] bDrawTab
[in] ppTargetBar
virtual BOOL CanBeAttached() const;
virtual BOOL CanBeDockedToPane(const CDockablePane* pDockingBar) const;
[in] pDockingBar
virtual void CheckGripperVisibility();
virtual void CloseMiniFrame();
virtual void ConvertToTabbedDocument();
virtual BOOL DockFrame(
CPaneFrameWnd* pDockedFrame,
AFX_DOCK_METHOD dockMethod);
[in] pDockedFrame
[in] dockMethod
virtual BOOL DockPane(CDockablePane* pDockedBar);
[in] pDockedBar
virtual void DockRecentPaneToMainFrame(CDockablePane* pBar);
[in] pBar
virtual CString GetCaptionText();
virtual CWnd* GetFirstVisiblePane() const;
virtual CWnd* GetPane() const;
Returns a reference to the internal container manager object.
CPaneContainerManager& GetPaneContainerManager();
A reference to the internal container manager object.
This method can be used to access the internal CPaneContainerManager Class object.
virtual int GetPaneCount() const;
virtual int GetVisiblePaneCount() const;
virtual BOOL InsertPane(
CBasePane* pControlBar,
CBasePane* pTarget,
BOOL bAfter);
[in] pControlBar
[in] pTarget
[in] bAfter
virtual BOOL LoadState(
LPCTSTR lpszProfileName = NULL,
UINT uiID = (UINT) -1);
[in] lpszProfileName
[in] uiID
virtual void OnDockToRecentPos();
virtual void OnKillRollUpTimer();
virtual void OnPaneRecalcLayout();
virtual void OnSetRollUpTimer();
virtual void OnShowPane(
CDockablePane* pBar,
BOOL bShow);
[in] pBar
[in] bShow
virtual CBasePane* PaneFromPoint(
CPoint point,
int nSensitivity,
BOOL bCheckVisibility);
[in] point
[in] nSensitivity
[in] bCheckVisibility
virtual void RemoveNonValidPanes();
virtual void RemovePane(
CBasePane* pBar,
BOOL bDestroy = FALSE,
BOOL bNoDelayedDestroy = TRUE);
[in] pBar
[in] bDestroy
[in] bNoDelayedDestroy
virtual void ReplacePane(
CBasePane* pBarOrg,
CBasePane* pBarReplaceWith);
[in] pBarOrg
[in] pBarReplaceWith
virtual BOOL SaveState(
LPCTSTR lpszProfileName = NULL,
UINT uiID = (UINT) -1);
[in] lpszProfileName
[in] uiID
virtual void Serialize(CArchive& ar);
[in] ar
virtual void SetDockState(CDockingManager* pDockManager);
[in] pDockManager
void SetLastFocusedPane(HWND hwnd);
[in] hwnd
virtual BOOL SetPreDockState(
AFX_PREDOCK_STATE preDockState,
CBasePane* pBarToDock = NULL,
AFX_DOCK_METHOD dockMethod = DM_MOUSE);
[in] preDockState
[in] pBarToDock
[in] dockMethod
virtual void StoreRecentDockSiteInfo(CPane* pBar);
[in] pBar
virtual void StoreRecentTabRelatedInfo(
CDockablePane* pDockingBar,
CDockablePane* pTabbedBar);
[in] pDockingBar
[in] pTabbedBar