CDockSite 類別
如需更多詳細資料,請參閱 Visual Studio 安裝位置下之 VC\atlmfc\src\mfc 資料夾中的原始程式碼。
提供可將衍生自 CPane Class 的窗格排列成資料列集合的功能。
語法
class CDockSite: public CBasePane
成員
公用方法
備註
當您呼叫 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