CDockingPanesRow Class

Manages a list of panes that are located in the same horizontal or vertical row (column) of a dock site.

For more detail see the source code located in the VC\atlmfc\src\mfc folder of your Visual Studio installation.

Syntax

class CDockingPanesRow : public CObject

Members

Public Constructors

Name Description
CDockingPanesRow::CDockingPanesRow Default constructor.

Public Methods

Name Description
CDockingPanesRow::AddPane
CDockingPanesRow::AddPaneFromRow
CDockingPanesRow::ArrangePanes Arranges the panes in a row according to the specified margin and spacing parameters.
CDockingPanesRow::CalcFixedLayout
CDockingPanesRow::Create
CDockingPanesRow::ExpandStretchedPanes
CDockingPanesRow::ExpandStretchedPanesRect
CDockingPanesRow::FixupVirtualRects
CDockingPanesRow::GetAvailableLength
CDockingPanesRow::GetAvailableSpace
CDockingPanesRow::GetClientRect
CDockingPanesRow::GetDockSite
CDockingPanesRow::GetExtraSpace
CDockingPanesRow::GetGroupFromPane
CDockingPanesRow::GetID
CDockingPanesRow::GetMaxPaneSize
CDockingPanesRow::GetPaneCount
CDockingPanesRow::GetPaneList
CDockingPanesRow::GetRowAlignment
CDockingPanesRow::GetRowHeight
CDockingPanesRow::GetRowOffset
CDockingPanesRow::GetVisibleCount
CDockingPanesRow::GetWindowRect
CDockingPanesRow::HasPane
CDockingPanesRow::IsEmpty
CDockingPanesRow::IsExclusiveRow
CDockingPanesRow::IsHorizontal
CDockingPanesRow::IsVisible
CDockingPanesRow::Move
CDockingPanesRow::MovePane
CDockingPanesRow::OnResizePane
CDockingPanesRow::RedrawAll
CDockingPanesRow::RemovePane
CDockingPanesRow::ReplacePane
CDockingPanesRow::RepositionPanes
CDockingPanesRow::Resize
CDockingPanesRow::ResizeByPaneDivider
CDockingPanesRow::ScreenToClient
CDockingPanesRow::SetExtra
CDockingPanesRow::ShowDockSiteRow
CDockingPanesRow::ShowPane
CDockingPanesRow::UpdateVisibleState

Remarks

CDockingPanesRow objects are created internally by dock site objects.

Example

The following example demonstrates how to get a CDockingPanesRow object from a CMFCAutoHideBar object.

CMFCAutoHideBar *pParentBar = new CMFCAutoHideBar();
CDockingPanesRow *pParentRow = pParentBar->GetDockSiteRow();

Inheritance Hierarchy

CObject

CDockingPanesRow

Requirements

Header: afxDockingPanesRow.h

CDockingPanesRow::AddPane

virtual void AddPane(
    CPane* pControlBar,
    AFX_DOCK_METHOD dockMethod,
    LPCRECT lpRect = NULL,
    BOOL bAddLast = FALSE);

Parameters

[in] pControlBar

[in] dockMethod

[in] lpRect

[in] bAddLast

Remarks

CDockingPanesRow::AddPaneFromRow

virtual void AddPaneFromRow(
    CPane* pControlBar,
    AFX_DOCK_METHOD dockMethod);

Parameters

[in] pControlBar

[in] dockMethod

Remarks

CDockingPanesRow::ArrangePanes

Arranges docking panes in a row according to the specified margin and spacing parameters.

virtual void ArrangePanes(
    int nMargin,
    int nSpacing);

Parameters

nMargin
[in] Specifies the offset, in pixels, of the first pane from the upper-left corner of the row.

nSpacing
[in] Specifies the spacing, in pixels, between panes.

Remarks

Call this method to arrange panes in the row where they will dock. After calling this method, you must call CDockingPanesRow::FixupVirtualRects(FALSE, NULL).

CDockingPanesRow::CalcFixedLayout

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

Parameters

[in] bStretch

[in] bHorz

Return Value

Remarks

CDockingPanesRow::CDockingPanesRow

CDockingPanesRow(
    CDockSite* pParentDockBar,
    int nOffset,
    int nHeight);

Parameters

[in] pParentDockBar

[in] nOffset

[in] nHeight

Remarks

CDockingPanesRow::Create

virtual BOOL Create();

Return Value

Remarks

CDockingPanesRow::ExpandStretchedPanes

void ExpandStretchedPanes();

Remarks

CDockingPanesRow::ExpandStretchedPanesRect

void ExpandStretchedPanesRect();

Remarks

CDockingPanesRow::FixupVirtualRects

void FixupVirtualRects(
    bool bMoveBackToVirtualRect,
    CPane* pBarToExclude = NULL);

Parameters

[in] bMoveBackToVirtualRect

[in] pBarToExclude

Remarks

CDockingPanesRow::GetAvailableLength

virtual int GetAvailableLength(BOOL bUseVirtualRect = FALSE) const;

Parameters

[in] bUseVirtualRect

Return Value

Remarks

CDockingPanesRow::GetAvailableSpace

virtual void GetAvailableSpace(CRect& rect);

Parameters

[in] rect

Remarks

CDockingPanesRow::GetClientRect

void GetClientRect(CRect& rect) const;

Parameters

[in] rect

Remarks

CDockingPanesRow::GetDockSite

CDockSite* GetDockSite() const;

Return Value

Remarks

CDockingPanesRow::GetExtraSpace

int GetExtraSpace() const;

Return Value

Remarks

CDockingPanesRow::GetGroupFromPane

void GetGroupFromPane(
    CPane* pBar,
    CObList& lst);

Parameters

[in] pBar

[in] lst

Remarks

CDockingPanesRow::GetID

int GetID() const;

Return Value

Remarks

CDockingPanesRow::GetMaxPaneSize

int GetMaxPaneSize(BOOL bSkipHiddenBars = TRUE) const;

Parameters

[in] bSkipHiddenBars

Return Value

Remarks

CDockingPanesRow::GetPaneCount

int GetPaneCount() const;

Return Value

Remarks

CDockingPanesRow::GetPaneList

const CObList& GetPaneList() const;

Return Value

Remarks

CDockingPanesRow::GetRowAlignment

DWORD GetRowAlignment() const;

Return Value

Remarks

CDockingPanesRow::GetRowHeight

int GetRowHeight() const;

Return Value

Remarks

CDockingPanesRow::GetRowOffset

int GetRowOffset() const;

Return Value

Remarks

CDockingPanesRow::GetVisibleCount

virtual int GetVisibleCount();

Return Value

Remarks

CDockingPanesRow::GetWindowRect

void GetWindowRect(CRect& rect) const;

Parameters

[in] rect

Remarks

CDockingPanesRow::HasPane

BOOL HasPane(CBasePane* pControlBar);

Parameters

[in] pControlBar

Return Value

Remarks

CDockingPanesRow::IsEmpty

virtual BOOL IsEmpty() const;

Return Value

Remarks

CDockingPanesRow::IsExclusiveRow

virtual BOOL IsExclusiveRow() const;

Return Value

Remarks

CDockingPanesRow::IsHorizontal

bool IsHorizontal() const;

Return Value

Remarks

CDockingPanesRow::IsVisible

virtual BOOL IsVisible() const;

Return Value

Remarks

CDockingPanesRow::Move

virtual void Move(int nOffset);

Parameters

[in] nOffset

Remarks

CDockingPanesRow::MovePane

void MovePane(
    CPane* pControlBar,
    CPoint ptOffset,
    BOOL bSwapControlBars,
    HDWP& hdwp);

void MovePane(
    CPane* pControlBar,
    CRect rectTarget,
    HDWP& hdwp);

void MovePane(
    CPane* pControlBar,
    int nOffset,
    bool bForward,
    HDWP& hdwp);

void MovePane(
    CPane* pControlBar,
    int nAbsolutOffset,
    HDWP& hdwp);

Parameters

[in] pControlBar

[in] ptOffset

[in] bSwapControlBars

[in] hdwp

[in] rectTarget

[in] nOffset

[in] bForward

[in] nAbsolutOffset

Remarks

CDockingPanesRow::OnResizePane

virtual void OnResizePane(CBasePane* pControlBar);

Parameters

[in] pControlBar

Remarks

CDockingPanesRow::RedrawAll

void RedrawAll();

Remarks

CDockingPanesRow::RemovePane

virtual void RemovePane(CPane* pControlBar);

Parameters

[in] pControlBar

Remarks

CDockingPanesRow::ReplacePane

virtual BOOL ReplacePane(
    CPane* pBarOld,
    CPane* pBarNew);

Parameters

[in] pBarOld

[in] pBarNew

Return Value

Remarks

CDockingPanesRow::RepositionPanes

virtual void RepositionPanes(
    CRect& rectNewParentBarArea,
    UINT nSide = (UINT)-1,
    BOOL bExpand = FALSE,
    int nOffset = 0);

Parameters

[in] rectNewParentBarArea

[in] nSide

[in] bExpand

[in] nOffset

Remarks

CDockingPanesRow::Resize

virtual int Resize(int nOffset);

Parameters

[in] nOffset

Return Value

Remarks

CDockingPanesRow::ResizeByPaneDivider

virtual int ResizeByPaneDivider(int /*ignored*/);

Parameters

[in] ignored

Return Value

Remarks

CDockingPanesRow::ScreenToClient

void ScreenToClient(CRect& rect) const;

Parameters

[in] rect

Remarks

CDockingPanesRow::SetExtra

void SetExtra(
    int nExtraSpace,
    AFX_ROW_ALIGNMENT rowExtraAlign);

Parameters

[in] nExtraSpace

[in] rowExtraAlign

Remarks

CDockingPanesRow::ShowDockSiteRow

virtual void ShowDockSiteRow(
    BOOL bShow,
    BOOL bDelay);

Parameters

[in] bShow

[in] bDelay

Remarks

CDockingPanesRow::ShowPane

virtual BOOL ShowPane(
    CPane* pControlBar,
    BOOL bShow,
    BOOL bDelay = FALSE);

Parameters

[in] pControlBar

[in] bShow

[in] bDelay

Return Value

Remarks

CDockingPanesRow::UpdateVisibleState

virtual void UpdateVisibleState(BOOL bDelay);

Parameters

[in] bDelay

Remarks

See also

Hierarchy Chart
Classes
CObject Class
CDockSite Class
CPane Class