CPaneDivider – třída
Další podrobnosti najdete ve zdrojovém kódu ve složce VC\atlmfc\src\mfc instalace sady Visual Studio.
Třída CPaneDivider
rozdělí dvě podokna, rozdělí dvě skupiny podoken nebo odděluje skupinu podoken z klientské oblasti okna hlavního rámce.
class CPaneDivider : public CBasePane
Název | Popis |
---|---|
CPaneDivider::CPaneDivider |
Název | Popis |
---|---|
CPaneDivider::m_nDefaultWidth | Určuje výchozí šířku v pixelech všech rozdělovačů podokna v aplikaci. |
CPaneDivider::m_pSliderRTC | Obsahuje ukazatel na informace o třídě modulu runtime o -odvozeného objektu CPaneDivider . |
Rozhraní vytváří CPaneDivider
objekty automaticky při ukotvení podokna.
Existují dva typy rozdělovačů podokna:
Výchozí oddělovač podokna se vytvoří, když je skupina podoken ukotvená na straně okna hlavního rámce. Výchozí oddělovač podokna obsahuje ukazatel na třídu CPaneContainerManager a přesměruje většinu operací ve skupině podoken (například změnu velikosti podokna nebo ukotvení jiného podokna nebo kontejneru) do správce kontejneru. Každé ukotvené podokno udržuje ukazatel na výchozí oddělovač podokna.
Normální rozdělovač podokna jednoduše rozdělí dvě podokna v kontejneru. Další informace naleznete v tématu CPaneContainer – třída.
Následující příklad ukazuje, jak získat CPaneDivider
objekt z objektu CWorkspaceBar
. Tento fragment kódu je součástí ukázky karet MDI.
// CWorkspaceBar m_wndWorkSpace
CPaneDivider *pSlider = m_wndWorkSpace.GetDefaultPaneDivider();
Objekt CObject
└ CCmdTarget
└ CWnd
└ CBasePane
└ CPaneDivider
Hlavička: afxPaneDivider.h
void SetAutoHideMode(BOOL bMode);
[v] bMode
void SetPaneContainerManager(CPaneContainerManager* p);
[v] p
virtual void AddPane(CDockablePane* pBar);
[v] pBar
virtual BOOL AddPaneContainer(
CPaneContainerManager& barContainerManager,
BOOL bOuterEdge);
virtual BOOL AddPaneContainer(
CDockablePane* pTargetBar,
CPaneContainerManager& barContainerManager,
DWORD dwAlignment);
[v] barContainerManager
[v] bOuterEdge
[v] pTargetBar
[v] dwAlignment
virtual CDockablePane* AddRecentPane(CDockablePane* pBar);
[v] pBar
virtual void CalcExpectedDockedRect(
CWnd* pWndToDock,
CPoint ptMouse,
CRect& rectResult,
BOOL& bDrawTab,
CDockablePane** ppTargetBar);
[v] pWndToDock
[v] ptMouse
[v] rectResult
[v] bDrawTab
[v] ppTargetBar
virtual CSize CalcFixedLayout(
BOOL bStretch,
BOOL bHorz);
[v] bStretch
[v] bHorz
virtual BOOL CheckVisibility();
CPaneDivider();
CPaneDivider(
BOOL bDefaultSlider,
CWnd* pParent = NULL);
[v] bDefaultSlider
[v] pParent
virtual BOOL CreateEx(
DWORD dwStyleEx,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID,
CCreateContext* pContext);
[v] dwStyleEx
[v] dwStyle
[v] Rect
[v] pParentWnd
[v] Nid
[v] pContext
virtual BOOL DoesAllowDynInsertBefore() const;
virtual BOOL DoesContainFloatingPane();
CPaneContainer* FindPaneContainer(
CDockablePane* pBar,
BOOL& bLeftBar);
[v] pBar
[v] bLeftBar
CDockablePane* FindTabbedPane(UINT nID);
[v] Nid
static int __stdcall GetDefaultWidth();
const CBasePane* GetFirstPane() const;
Vrátí seznam rozdělovačů podokna, které se nacházejí ve třídě CPaneContainer. Tato metoda by měla být volána pouze pro výchozí oddělovače podokna.
void GetPaneDividers(CObList& lstSliders);
LstSliders
[ven] Obsahuje seznam rozdělovačů podokna, které se nacházejí v kontejneru podokna.
Tato metoda by měla být volána pouze pro výchozí oddělovače podokna. Výchozí oddělovač podokna je rozdělovač, který mění velikost celého kontejneru podokna.
DWORD GetPaneDividerStyle() const;
Vrátí seznam podoken umístěných ve třídě CPaneContainer. Tato metoda by měla být volána pouze pro načtení výchozích rozdělovačů podokna.
void GetPanes(CObList& lstBars);
LstBars
[ven] Obsahuje seznam podoken, která se nacházejí v kontejneru podokna.
Tato metoda by měla být volána pouze pro výchozí oddělovače podokna. Výchozí oddělovač podokna je rozdělovač, který mění velikost celého kontejneru podokna.
CRect GetRootContainerRect();
int GetWidth() const;
void Init(
BOOL bDefaultSlider = FALSE,
CWnd* pParent = NULL);
[v] bDefaultSlider
[v] pParent
virtual BOOL InsertPane(
CDockablePane* pBarToInsert,
CDockablePane* pTargetBar,
DWORD dwAlignment,
LPCRECT lpRect = NULL);
[v] pBarToInsert
[v] pTargetBar
[v] dwAlignment
[v] lpRect
BOOL IsAutoHideMode() const;
BOOL IsDefault() const;
BOOL IsHorizontal() const;
Určuje výchozí šířku v pixelech všech rozdělovačů podokna v aplikaci.
AFX_IMPORT_DATA static int m_nDefaultWidth;
virtual void Move(
CPoint& ptOffset,
BOOL bAdjustLayout = TRUE);
[v] ptOffset
[v] bAdjustLayout
Obsahuje ukazatel na informace o třídě modulu runtime o -odvozeného objektu CPaneDivider
.
AFX_IMPORT_DATA static CRuntimeClass* m_pSliderRTC;
Tuto členovou proměnnou nastavte, pokud vytvoříte vlastní oddělovač podokna. To umožňuje rozhraní vytvořit rozdělovač podokna při vykreslení podokna.
Následující příklad ukazuje, jak nastavit m_pSliderRTC
člennou proměnnou:
class CMySplitter : public CPaneDivider
{
...
};
CPaneDivider::m_pSliderRTC = RUNTIME_CLASS(CMySpliter);
virtual void NotifyAboutRelease();
virtual void OnShowPane(
CDockablePane* pBar,
BOOL bShow);
[v] pBar
[v] BShow
void ReleaseEmptyPaneContainers();
virtual void RemovePane(CDockablePane* pBar);
[v] pBar
virtual BOOL ReplacePane(
CDockablePane* pBarToReplace,
CDockablePane* pBarToReplaceWith);
[v] pBarToReplace
[v] pBarToReplaceWith
virtual void RepositionPanes(
CRect& rectNew,
HDWP& hdwp);
[v] rectNew
[v] hdwp
void Serialize(CArchive& ar);
[v] ar
void ShowWindow(int nCmdShow);
[v] nCmdShow
void StoreRecentDockSiteInfo(CDockablePane* pBar);
[v] pBar
void StoreRecentTabRelatedInfo(
CDockablePane* pDockingBar,
CDockablePane* pTabbedBar);
[v] pDockingBar
[v] pTabbedBar
Graf hierarchie
Třídy
CPaneContainerManager – třída
CPaneContainer – třída
CDockingManager – třída
CBasePane – třída