分享方式:


CDockSite 類別

如需更多詳細資料,請參閱 Visual Studio 安裝位置下之 VC\atlmfc\src\mfc 資料夾中的原始程式碼。

提供可將衍生自 CPane Class 的窗格排列成資料列集合的功能。

語法

class CDockSite: public CBasePane

成員

公用方法

名稱 描述
CDockSite::AddRow
CDockSite::AdjustDockingLayout (覆寫 CBasePane::AdjustDockingLayout.)
CDockSite::AdjustLayout (覆寫 CBasePane::AdjustLayout.)
CDockSite::AlignDockSite
CDockSite::CalcFixedLayout (覆寫 CBasePane::CalcFixedLayout.)
CDockSite::CanAcceptPane (覆寫 CBasePane::CanAcceptPane.)
CDockSite::CreateEx (覆寫 CBasePane::CreateEx.)
CDockSite::CreateRow
CDockSite::D ockPane (覆寫 CBasePane::D ockPane.)
CDockSite::D oesAllowDynInsertBefore (覆寫 CBasePane::D oesAllowDynInsertBefore.)
CDockSite::FindRowIndex
CDockSite::FixupVirtualRects
CDockSite::GetDockSiteID
CDockSite::GetDockSiteRowsList
CDockSite::IsAccessibilityCompatible (覆寫 CBasePane::IsAccessibilityCompatible。)
CDockSite::IsDragMode
CDockSite::IsLastRow
CDockSite::IsRectWithinDockSite
CDockSite::IsResizable (覆寫 CBasePane::IsResizable.)
CDockSite::MovePane
CDockSite::OnInsertRow
CDockSite::OnRemoveRow
CDockSite::OnResizeRow
CDockSite::OnSetWindowPos
CDockSite::OnShowRow
CDockSite::OnSizeParent
CDockSite::P aneFromPoint 由給定參數指定時,傳回停駐於停駐位置的窗格。
CDockSite::D ockPaneLeftOf 將窗格停駐於另一個窗格的左邊。
CDockSite::FindPaneByID 傳回給定識別碼所識別的窗格。
CDockSite::GetPaneList 傳回停駐於停駐位置的窗格清單。
CDockSite::RectSideFromPoint
CDockSite::RemovePane
CDockSite::RemoveRow
CDockSite::ReplacePane
CDockSite::RepositionPanes
CDockSite::ResizeDockSite
CDockSite::ResizeRow
CDockSite::ShowPane 顯示窗格。
CDockSite::ShowRow
CDockSite::SwapRows

備註

當您呼叫 CFrameWndEx::EnableDocking 時,架構會自動建立CDockSite物件。 停駐位置視窗位於主框架視窗上用戶端區域的邊緣。

您通常不需要呼叫擴充座月臺所提供的服務,因為 CFrameWndEx 類別 會處理這些服務。

範例

下列範例示範如何建立 CDockSite 類別的物件。

AFX_DOCKSITE_INFO info;
CDockSite *pDockBar = (CDockSite*)info.pDockBarRTC->CreateObject();

繼承階層架構

CObject
CCmdTarget
 。 CWnd
  。 CBasePane
   。 CDockSite

需求

標頭: afxDockSite.h

CDockSite::AddRow

CDockingPanesRow* AddRow(
    POSITION pos,
    int nHeight);

參數

[in] pos

[in] nHeight

傳回值

備註

CDockSite::AdjustDockingLayout

virtual void AdjustDockingLayout();

備註

CDockSite::AdjustLayout

virtual void AdjustLayout();

備註

CDockSite::AlignDockSite

void AlignDockSite(
    const CRect& rectToAlignBy,
    CRect& rectResult,
    BOOL bMoveImmediately);

參數

[in] rectToAlignBy

[in] rectResult

[in] bMoveImmediately

備註

CDockSite::CalcFixedLayout

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

參數

[in] bStretch

[in] bHorz

傳回值

備註

CDockSite::CanAcceptPane

virtual BOOL CanAcceptPane(const CBasePane* pBar) const;

參數

[in] pBar

傳回值

備註

CDockSite::CreateEx

virtual BOOL CreateEx(
    DWORD dwStyleEx,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    DWORD dwControlBarStyle,
    CCreateContext* pContext = NULL);

參數

[in] dwStyleEx

[in] dwStyle

[in] rect

[in] pParentWnd

[in] dwControlBarStyle

[in] pContext

傳回值

備註

CDockSite::CreateRow

virtual CDockingPanesRow* CreateRow(
    CDockSite* pParentDockBar,
    int nOffset,
    int nRowHeight);

參數

[in] pParentDockBar

[in] nOffset

[in] nRowHeight

傳回值

備註

CDockSite::D ockPane

virtual void DockPane(
    CPane* pWnd,
    AFX_DOCK_METHOD dockMethod,
    LPCRECT lpRect = NULL);

參數

[in] pWnd

[in] dockMethod

[in] lpRect

備註

CDockSite::D ockPaneLeftOf

將窗格停駐於另一個窗格的左邊。

virtual BOOL DockPaneLeftOf(
    CPane* pBarToDock,
    CPane* pTargetBar);

參數

pBarToDock
[in, out]要停駐在 pTargetBar 左邊之窗格的指標。

pTargetBar
[in, out]目標窗格的指標。

傳回值

如果已成功停駐窗格,則為TRUE;否則為 FALSE。

備註

CDockSite::D oesAllowDynInsertBefore

virtual BOOL DoesAllowDynInsertBefore() const;

傳回值

備註

CDockSite::FindPaneByID

傳回具有指定標識碼的窗格。

CPane* FindPaneByID(UINT nID);

參數

nID
[in]要找到之窗格的命令標識碼。

傳回值

具有指定命令標識碼的窗格指標,如果找不到窗格,則為 NULL。

備註

CDockSite::FindRowIndex

int FindRowIndex(CDockingPanesRow* pRow);

參數

[in] 船頭

傳回值

備註

CDockSite::FixupVirtualRects

virtual void FixupVirtualRects();

備註

CDockSite::GetDockSiteID

virtual UINT GetDockSiteID() const;

傳回值

備註

CDockSite::GetDockSiteRowsList

const CObList& GetDockSiteRowsList() const;

傳回值

備註

CDockSite::GetPaneList

傳回停駐在停駐站台中的窗格清單。

const CObList& GetPaneList() const;

傳回值

目前停駐在停駐列之窗格清單的唯讀參考。

CDockSite::IsAccessibilityCompatible

virtual BOOL IsAccessibilityCompatible();

傳回值

備註

CDockSite::IsDragMode

virtual BOOL IsDragMode() const;

傳回值

備註

CDockSite::IsLastRow

bool IsLastRow(CDockingPanesRow* pRow) const;

參數

[in] 船頭

傳回值

備註

CDockSite::IsRectWithinDockSite

BOOL IsRectWithinDockSite(
    CRect rect,
    CPoint& ptDelta);

參數

[in] rect

[in] ptDelta

傳回值

備註

CDockSite::IsResizable

virtual BOOL IsResizable() const;

傳回值

備註

CDockSite::MovePane

virtual BOOL MovePane(
    CPane* pWnd,
    UINT nFlags,
    CPoint ptOffset);

參數

[in] pWnd

[in] nFlags

[in] ptOffset

傳回值

備註

CDockSite::OnInsertRow

virtual void OnInsertRow(POSITION pos);

參數

[in] pos

備註

CDockSite::OnRemoveRow

virtual void OnRemoveRow(
    POSITION pos,
    BOOL bByShow = FALSE);

參數

[in] pos

[in] bByShow

備註

CDockSite::OnResizeRow

virtual int OnResizeRow(
    CDockingPanesRow* pRowToResize,
    int nOffset);

參數

[in] pRowToResize

[in] nOffset

傳回值

備註

CDockSite::OnSizeParent

virtual void OnSizeParent(
    CRect& rectAvailable,
    UINT nSide,
    BOOL bExpand,
    int nOffset);

參數

[in] rectAvailable

[in] nSide

[in] bExpand

[in] nOffset

備註

CDockSite::OnSetWindowPos

virtual BOOL OnSetWindowPos(
    const CWnd* pWndInsertAfter,
    const CRect& rectWnd,
    UINT nFlags);

參數

[in] pWndInsertAfter

[in] rectWnd

[in] nFlags

傳回值

備註

CDockSite::OnShowRow

virtual void OnShowRow(
    POSITION pos,
    BOOL bShow);

參數

[in] pos

[in] bShow

備註

CDockSite::P aneFromPoint

由給定參數指定時,傳回停駐於停駐位置的窗格。

virtual CPane* PaneFromPoint(CPoint pt);

參數

pt
[in]螢幕座標中要擷取窗格的點。

傳回值

位於指定點的窗格指標,如果指定的點上沒有窗格,則為 NULL。

備註

CDockSite::RectSideFromPoint

static int __stdcall RectSideFromPoint(
    const CRect& rect,
    const CPoint& point);

參數

[in] rect

[in]

傳回值

備註

CDockSite::RemovePane

virtual void RemovePane(
    CPane* pWnd,
    AFX_DOCK_METHOD dockMethod);

參數

[in] pWnd

[in] dockMethod

備註

CDockSite::RemoveRow

void RemoveRow(CDockingPanesRow* pRow);

參數

[in] 船頭

備註

CDockSite::ReplacePane

BOOL ReplacePane(
    CPane* pOldBar,
    CPane* pNewBar);

參數

[in] pOldBar

[in] pNewBar

傳回值

備註

CDockSite::RepositionPanes

virtual void RepositionPanes(CRect& rectNewClientArea);

參數

[in] rectNewClientArea

備註

CDockSite::ResizeDockSite

void ResizeDockSite(
    int nNewWidth,
    int nNewHeight);

參數

[in] nNewWidth

[in] nNewHeight

備註

CDockSite::ResizeRow

int ResizeRow(
    CDockingPanesRow* pRow,
    int nNewSize,
    BOOL bAdjustLayout = TRUE);

參數

[in] 船頭

[in] nNewSize

[in] bAdjustLayout

傳回值

備註

CDockSite::ShowPane

顯示窗格。

virtual BOOL ShowPane(
    CBasePane* pBar,
    BOOL bShow,
    BOOL bDelay,
    BOOL bActivate);

參數

pBar
[in, out]要顯示或隱藏之窗格的指標。

bShow
[in]TRUE 表示指定要顯示窗格;FALSE 表示要隱藏窗格。

bDelay
[in]TRUE 表示指定窗格的配置應該延遲到顯示窗格之後;否則為 FALSE。

bActivate
[in]不使用此參數。

傳回值

如果已成功顯示或隱藏窗格,則為TRUE。 如果指定的窗格不屬於這個擴充座月臺,則為 FALSE。

備註

呼叫此方法以顯示或隱藏停駐窗格。 一般而言,您不需要直接呼叫 CDockSite::ShowPane ,因為父框架視窗或基底窗格會呼叫它。

CDockSite::ShowRow

void ShowRow(
    CDockingPanesRow* pRow,
    BOOL bShow,
    BOOL bAdjustLayout);

參數

[in] 船頭

[in] bShow

[in] bAdjustLayout

備註

CDockSite::SwapRows

void SwapRows(
    CDockingPanesRow* pFirstRow,
    CDockingPanesRow* pSecondRow);

參數

[in] pFirstRow

[in] pSecondRow

備註

另請參閱

階層架構圖表
類別
CBasePane 類別