CAutoHideDockSite 類別
會CAutoHideDockSite
擴充 CDockSite 類別,以實作自動隱藏停駐窗格。
語法
class CAutoHideDockSite : public CDockSite
成員
公用建構函式
名稱 | 描述 |
---|---|
名稱 | 描述 |
CAutoHideDockSite::CAutoHideDockSite |
建構 CAutoHideDockSite 物件。 |
CAutoHideDockSite::~CAutoHideDockSite |
解構函式。 |
公用方法
名稱 | 描述 |
---|---|
名稱 | 描述 |
CAutoHideDockSite::AllowShowOnPaneMenu |
指出是否 CAutoHideDockSite 顯示在窗格功能表上。 |
CAutoHideDockSite::CanAcceptPane | 判斷基底窗格物件是否衍生自 CMFCAutoHideBar類別。 |
CAutoHideDockSite::D ockPane | 將窗格停駐到這個 CAuotHideDockSite 物件。 |
CAutoHideDockSite::GetAlignRect | 擷取螢幕座標中停駐月臺的大小。 |
CAutoHideDockSite::RepositionPanes | 使用全域邊界和按鈕間距來重新繪製 窗格 CAutoHideDockSite 。 |
CAutoHideDockSite::SetOffsetLeft | 設定停駐列左側的邊界。 |
CAutoHideDockSite::SetOffsetRight | 設定停駐列右側的邊界。 |
CAutoHideDockSite::UnSetAutoHideMode | 針對上的CAutoHideDockSite 物件呼叫 CMFCAutoHideBar::UnSetAutoHideMode。 |
資料成員
名稱 | 描述 |
---|---|
名稱 | 描述 |
CAutoHideDockSite::m_nExtraSpace | 定義工具列與停駐列邊緣之間的空間大小。 此空間會根據停駐空間的對齊方式,從左邊緣或上邊緣來測量。 |
備註
當您呼叫 CFrameWndEx::EnableAutoHidePanes 時,架構會自動建立 CAutoHideDockSite
物件。 在大部分情況下,您不需要直接具現化或使用這個類別。
停駐列是停駐窗格左側與 CMFCAutoHideButton 類別左側之間的間距。
繼承階層架構
範例
下列範例示範如何從 CMFCAutoHideBar
物件擷取CAutoHideDockSite
物件,以及如何設定停駐列的左右邊界。
CAutoHideDockSite *pParentDockBar = DYNAMIC_DOWNCAST(CAutoHideDockSite, pParentBar->GetParentDockSite());
pParentDockBar->SetOffsetLeft(10);
pParentDockBar->SetOffsetRight(10);
需求
標頭: afxautohidedocksite.h
CAutoHideDockSite::CanAcceptPane
判斷基底窗格是 CMFCAutoHideBar 物件或衍生自 CMFCAutoHideBar
。
virtual BOOL CanAcceptPane(const CBasePane* pBar) const;
參數
pBar
[in]架構測試的基底窗格。
傳回值
如果 pBar 衍生自 CMFCAutoHideBar
,則為 TRUE;否則為 FALSE。
備註
如果基底窗格物件衍生自 CMFCAutoHideBar
,它可以包含 CAutoHideDockSite
。
CAutoHideDockSite::D ockPane
將窗格停駐到這個 CAutoHideDockSite 物件。
virtual void DockPane(
CPane* pWnd,
AFX_DOCK_METHOD dockMethod,
LPRECT lpRect = NULL);
參數
pWnd
[in]架構停駐的窗格。
dockMethod
[in]窗格的停駐選項。
lpRect
[in]指定停駐窗格界限的矩形。
備註
默認實作不會使用 參數 dockMethod,其提供以供日後使用。
如果 lpRect 為 NULL,架構會將窗格放在停駐月台的預設位置。 如果停駐月臺為水平,預設位置位於停駐站月臺最左邊。 否則,預設位置位於停駐月臺頂端。
CAutoHideDockSite::GetAlignRect
擷取螢幕座標中停駐月臺的大小。
void GetAlignRect(CRect& rect) const;
參數
rect
[in]矩形的參考。 方法會將停駐月臺的大小儲存在此矩形中。
備註
矩形會針對位移邊界進行調整,使其不包含。
CAutoHideDockSite::m_nExtraSpace
CAutoHideDockSite 類別邊緣與 CMFCAutoHideBar 類別對象之間的空間大小。
static int m_nExtraSpace;
備註
CMFCAutoHideBar
當 停駐在 的 CAutoHideDockSite
時,它不應該佔用整個碼頭月臺。 這個全域變數會控制 的左框線或上框線 CMFCAutoHideBar
與對應 CAutoHideDockSite
邊緣之間的額外空間。 使用上邊緣或左邊緣取決於目前的對齊方式。
CAutoHideDockSite::SetOffsetLeft
設定停駐列左側的邊界。
void SetOffsetLeft(int nOffset);
參數
nOffset
[in]新的位移。
備註
CMFCAutoHideBar 物件會以靜態方式放置在物件上 CAutoHideDockSite
。 這表示用戶無法手動變更物件的位置 CMFCAutoHideBar
。 方法 SetOffsetLeft
會控制最 CMFCAutoHideBar
左邊和 左邊 CAutoHideDockSite
之間的間距。
CAutoHideDockSite::SetOffsetRight
設定停駐列右側的邊界。
void SetOffsetRight(int nOffset);
參數
nOffset
[in]新的位移。
備註
CMFCAutoHideBar 物件會以靜態方式放置在物件上 CAutoHideDockSite
。 這表示用戶無法手動變更物件的位置 CMFCAutoHideBar
。 方法 SetOffsetRight
會控制最 CMFCAutoHideBar
右邊和 右邊 CAutoHideDockSite
之間的間距。
CAutoHideDockSite::RepositionPanes
重新繪製 CAutoHideDockSite 上的窗格。
virtual void RepositionPanes(CRect& rectNewClientArea);
參數
rectNewClientArea
[in] 保留的值。
備註
默認實作不會使用 rectNewClientArea。 它會使用全域工具列邊界和按鈕間距來重新繪製窗格。
CAutoHideDockSite::UnSetAutoHideMode
呼叫 DOCK 站臺上物件的 CMFCAutoHideBar::UnSetAutoHideMode 。
void UnSetAutoHideMode(CMFCAutoHideBar* pAutoHideToolbar);
參數
pAutoHideToolbar
[in]位於上的 CAutoHideDockSite
CMFCAutoHideBar 物件窗格指標。
備註
此方法會搜尋包含 pAutoHideToolbar 的數據列。 CMFCAutoHideBar.UnSetAutoHideMode
它會呼叫該數據列上的所有CMFCAutoHideBar
物件。 如果找不到 pAutoHideToolbar 或為 NULL,這個方法會針對 上CAutoHideDockSite
的所有CMFCAutoHideBar
物件呼叫 CMFCAutoHideBar.UnSetAutoHideMode
。