संपादित करें

इसके माध्यम से साझा किया गया


CDockingPanesRow Class

Note

The Microsoft Foundation Classes (MFC) library continues to be supported. However, we're no longer adding features or updating the documentation.

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