共用方式為


CDockablePane 類別

實作可以停駐在固定位置或包含於索引標籤式窗格的窗格。

語法

class CDockablePane : public CPane

成員

公用建構函式

名稱 描述
CDockablePane::CDockablePane 建構並初始化 CDockablePane 物件。

公用方法

名稱 描述
CDockablePane::AttachToTabWnd 將窗格附加至另一個窗格。 這會建立索引標籤式窗格。
CDockablePane::CalcFixedLayout 傳回窗格矩形的大小。
CDockablePane::CanAcceptMiniFrame 判斷指定的迷你框架是否可以停駐到窗格。
CDockablePane::CanAcceptPane 判斷是否可以將另一個窗格停駐到目前的窗格。
CDockablePane::CanAutoHide 判斷窗格是否支援自動隱藏模式。 (覆寫 CBasePane::CanAutoHide。)
CDockablePane::CanBeAttached 判斷目前的窗格是否可以停駐到另一個窗格。
CDockablePane::ConvertToTabbedDocument 將一或多個可停駐窗格轉換為 MDI 索引標籤式檔。
CDockablePane::CopyState 複製可停駐窗格的狀態。
CDockablePane::Create 建立 Windows 控制項並將它附加至 CDockablePane 物件。
CDockablePane::CreateDefaultPaneDivider 建立窗格的預設分隔符號,因為它停駐在框架視窗。
CDockablePane::CreateEx 建立 Windows 控制項並將它附加至 CDockablePane 物件。
CDockablePane::CreateTabbedPane 從目前的窗格建立索引標籤式窗格。
CDockablePane::DockPaneContainer 將容器停駐到窗格。
CDockablePane::DockPaneStandard 使用大綱(標準)停駐來停駐窗格。
CDockablePane::DockToFrameWindow 在內部使用。 若要停駐窗格,請使用 CPane::DockPaneCDockablePane::DockToWindow
CDockablePane::DockToRecentPos 將窗格停駐到其最近儲存的停駐位置。
CDockablePane::DockToWindow 將一個停駐窗格停駐到另一個停駐窗格。
CDockablePane::EnableAutohideAll 啟用或停用此窗格的自動隱藏模式,以及容器中的其他窗格。
CDockablePane::EnableGripper 顯示或隱藏標題(夾克器)。
CDockablePane::GetAHRestoredRect 指定在自動隱藏模式中可見時窗格的位置。
CDockablePane::GetAHSlideMode 擷取窗格的自動隱藏投影片模式。
CDockablePane::GetAutoHideButton 在內部使用。
CDockablePane::GetAutoHideToolBar 在內部使用。
CDockablePane::GetCaptionHeight 傳回目前標題的高度。
CDockablePane::GetDefaultPaneDivider 傳回窗格容器的預設窗格分隔符號。
CDockablePane::GetDockingStatus 決定根據提供的指標位置來停駐窗格的能力。
CDockablePane::GetDragSensitivity 傳回停駐窗格的拖曳敏感度。
CDockablePane::GetLastPercentInPaneContainer 擷取窗格在其容器內佔用的空間百分比。
CDockablePane::GetTabArea 擷取窗格的索引標籤區域。
CDockablePane::GetTabbedPaneRTC 傳回當另一個窗格停駐至目前窗格時所建立索引標籤式視窗的執行時間類別資訊。
CDockablePane::HasAutoHideMode 指定是否可以將停駐窗格切換為自動隱藏模式。
CDockablePane::HitTest 指定使用者按一下滑鼠之窗格中的特定位置。
CDockablePane::IsAccessibilityCompatible 在內部使用。
CDockablePane::IsAutohideAllEnabled 指出容器中的停駐窗格和所有其他窗格是否可以置於自動隱藏模式中。
CDockablePane::IsAutoHideMode 判斷窗格是否處於自動隱藏模式。
CDockablePane::IsChangeState 在內部使用。
CDockablePane::IsDocked 判斷目前的窗格是否已停駐。
CDockablePane::IsHideInAutoHideMode 藉由呼叫 ShowPane ,判斷處於自動隱藏模式的窗格行為。
CDockablePane::IsInFloatingMultiPaneFrameWnd 指定窗格是否位於多窗格框架視窗中。
CDockablePane::IsResizable 指定窗格是否可調整大小。
CDockablePane::IsTabLocationBottom 指定索引標籤是否位於窗格的頂端或底部。
CDockablePane::IsTracked 指定使用者是否正在拖曳窗格。
CDockablePane::IsVisible 判斷目前的窗格是否可見。
CDockablePane::LoadState 在內部使用。
CDockablePane::OnAfterChangeParent 當窗格的父代變更時,由架構呼叫。 (覆寫 CPane::OnAfterChangeParent。)
CDockablePane::OnAfterDockFromMiniFrame 當浮動停駐列停駐在框架視窗時,由架構呼叫。
CDockablePane::OnBeforeChangeParent 當窗格的父代即將變更時,由架構呼叫。 (覆寫 CPane::OnBeforeChangeParent。)
CDockablePane::OnBeforeFloat 當窗格即將浮動時,由架構呼叫。 (覆寫 CPane::OnBeforeFloat。)
CDockablePane::RemoveFromDefaultPaneDividier 架構會在取消停駐窗格時呼叫這個方法。
CDockablePane::ReplacePane 將窗格取代為指定的窗格。
CDockablePane::RestoreDefaultPaneDivider 架構會將此方法當做窗格還原序列化,以還原預設窗格分隔符號。
CDockablePane::SaveState 在內部使用。
CDockablePane::Serialize 序列化窗格。 (覆寫 CBasePane::Serialize。)
CDockablePane::SetAutoHideMode 在可見和自動隱藏模式之間切換停駐窗格。
CDockablePane::SetAutoHideParents 設定窗格的自動隱藏按鈕和自動隱藏工具列。
CDockablePane::SetDefaultPaneDivider 在內部使用。
CDockablePane::SetLastPercentInPaneContainer 設定窗格在其容器內佔用的空間百分比。
CDockablePane::SetResizeMode 在內部使用。
CDockablePane::SetRestoredDefaultPaneDivider 設定還原的預設窗格分隔符號。
CDockablePane::SetTabbedPaneRTC 設定當兩個窗格停駐在一起時所建立之索引標籤視窗的執行時間類別資訊。
CDockablePane::ShowPane 顯示或隱藏窗格。
CDockablePane::Slide 顯示或隱藏具有滑動動畫的窗格,只有在窗格處於自動隱藏模式時才會顯示。
CDockablePane::ToggleAutoHide 切換自動隱藏模式。 (覆寫 CPane::ToggleAutoHide 。)
CDockablePane::UndockPane 從主框架視窗或小型框架視窗容器取消停駐窗格。
CDockablePane::UnSetAutoHideMode 在內部使用。 若要設定自動隱藏模式,請使用 CDockablePane::SetAutoHideMode

受保護的方法

名稱 描述
CDockablePane::CheckAutoHideCondition 判斷停駐窗格是否隱藏(在自動隱藏模式中)。
CDockablePane::CheckStopSlideCondition 判斷自動隱藏停駐窗格何時應該停止滑動。
CDockablePane::DrawCaption 繪製停駐窗格標題(夾克器)。
CDockablePane::OnPressButtons 當使用者按下 和 AFX_HTMAXBUTTON 按鈕以外的 AFX_HTCLOSE 標題按鈕時呼叫。
CDockablePane::OnSlide 由架構呼叫,以在顯示或隱藏窗格時呈現自動隱藏的投影片效果。

資料成員

名稱 描述
CDockablePane::m_bDisableAnimation 指定是否停用可停駐窗格的自動隱藏動畫。
CDockablePane::m_bHideInAutoHideMode 當窗格處於自動隱藏模式時,決定窗格的行為。
CDockablePane::m_nSlideSteps 指定在自動隱藏模式中顯示或隱藏窗格的動畫速度。

備註

CDockablePane 會實作下列功能:

  • 將窗格停駐到主框架視窗。

  • 將窗格切換為自動隱藏模式。

  • 將窗格附加至索引標籤式視窗。

  • 在小型框架視窗中浮動窗格。

  • 將窗格停駐在小型框架視窗中的另一個窗格。

  • 調整窗格的大小。

  • 載入和儲存停駐窗格的狀態。

    注意

    狀態資訊會儲存至 Windows 登錄。

  • 建立具有或不含標題的窗格。 標題可以有文字標籤,而且可以填滿漸層色彩。

  • 顯示窗格的內容時拖曳窗格

  • 顯示拖曳矩形時拖曳窗格。

若要在應用程式中使用停駐窗格,請從 CDockablePane 類別衍生您的窗格類別。 將衍生物件內嵌至主框架視窗物件,或內嵌至控制窗格實例的視窗物件。 然後在主框架視窗中處理 WM_CREATE 訊息時呼叫 CDockablePane::Create 方法或 CDockablePane::CreateEx 方法。 最後,呼叫 CBasePane::EnableDockingCBasePane::DockPaneCDockablePane::AttachToTabWnd 來設定窗格物件。

自訂秘訣

下列秘訣適用于 CDockablePane 物件:

  • 如果您呼叫 CDockablePane::AttachToTabWnd 兩個非索引標籤式、可停駐窗格,則會在 參數中傳回索引標籤式視窗的 ppTabbedControlBar 指標。 您可以使用此參數,繼續將索引標籤新增至索引標籤式視窗。

  • 所建立的 CDockablePane::AttachToTabWnd 索引標籤式窗格種類是由 CDockablePane 參數中的 pTabControlBarAttachTo 物件所決定。 您可以呼叫 CDockablePane::SetTabbedPaneRTC 來設定 將建立的索引標籤式窗格 CDockablePane 種類。 當您第一次建立 時,預設類型是由 dwTabbedStyleCDockablePane::Create 的 決定。 CDockablePane 如果 dwTabbedStyleAFX_CBRS_OUTLOOK_TABS 預設類型為 CMFCOutlookBar Class ,則為 ,如果 dwTabbedStyleAFX_CBRS_REGULAR_TABS ,則為 CTabbedPane Class

  • 如果您想要將一個可停駐窗格停駐到另一個窗格,請呼叫 CDockablePane::DockToWindow 方法。 原始窗格必須先停駐于某個位置,才能呼叫此方法。

  • 成員變數 CDockablePane::m_bHideInAutoHideMode 會控制當您呼叫 CDockablePane::ShowPane 時,可停駐窗格在自動隱藏模式中的行為。 如果這個成員變數設定為 TRUE ,則會隱藏可停駐窗格及其自動隱藏按鈕。 否則,它們會向內滑出。

  • 您可以將成員變數設定 CDockablePane::m_bDisableAnimationTRUE ,以停用自動隱藏動畫。

範例

下列範例示範如何使用 類別中的 CDockablePane 各種方法設定 CDockablePane 物件。 此範例說明如何啟用可停駐窗格的自動隱藏所有功能、啟用標題或移駐器、啟用自動隱藏模式、顯示窗格,以及以動畫顯示處於自動隱藏模式的窗格。 此程式碼片段是 Visual Studio 示範範例 一部分。

// GetOwner is an inherited method.
CDockablePane *pParentBar = DYNAMIC_DOWNCAST(CDockablePane, GetOwner());
pParentBar->EnableAutohideAll();
pParentBar->EnableGripper(true);
pParentBar->SetAutoHideMode(true, CBRS_ALIGN_LEFT);
pParentBar->ShowPane(true, false, true);
pParentBar->Slide(true);

繼承階層架構

CObject

CCmdTarget

CWnd

CBasePane

CPane

CDockablePane

需求

標頭:afxDockablePane.h

CDockablePane::AttachToTabWnd

將目前窗格附加至目標窗格,建立索引標籤式窗格。

virtual CDockablePane* AttachToTabWnd(
    CDockablePane* pTabControlBarAttachTo,
    AFX_DOCK_METHOD dockMethod,
    BOOL bSetActive= TRUE,
    CDockablePane** ppTabbedControlBar = NULL);

參數

pTabControlBarAttachTo
[in, out]指定目前窗格所附加的目標窗格。 目標窗格必須是可停駐窗格。

dockMethod
[in]指定停駐方法。

bSetActive
[in] TRUE 表示在附加作業之後啟動索引標籤式窗格;否則為 FALSE

ppTabbedControlBar
[out]包含附加作業所產生的索引標籤式窗格。

傳回值

如果不是索引標籤式窗格,則為目前窗格的指標;否則為附加作業所產生之索引標籤窗格的指標。 如果無法附加目前窗格,或發生錯誤,則傳回值 NULL 為 。

備註

當一個可停駐窗格使用此方法附加至另一個窗格時,會發生下列情況:

  1. 架構會檢查目標窗格是否為一般停駐窗格 pTabControlBarAttachTo ,或是否衍生自 CBaseTabbedPane

  2. 如果目標窗格是索引標籤式窗格,架構會將目前的窗格新增至該窗格作為索引標籤。

  3. 如果目標窗格是一般停駐窗格,架構會建立索引標籤式窗格。

    • 架構會呼叫 pTabControlBarAttachTo->CreateTabbedPane 。 新索引標籤式窗格的樣式取決於 m_pTabbedControlBarRTC 成員。 根據預設,這個成員會設定為 的 CTabbedPane 執行時間類別。 如果您將 AFX_CBRS_OUTLOOK_TABS 樣式當做 dwTabbedStyle 參數傳遞至 CDockablePane::Create 方法,執行時間類別物件會設定為 的 CMFCOutlookBar 執行時間類別。 您可以隨時變更此成員,以變更新窗格的樣式。

    • 當這個方法建立索引標籤式窗格時,架構會將 指標 pTabControlBarAttachTo 取代為 (如果窗格停駐或浮動在多小型框架視窗中),以及新索引標籤式窗格的指標。

    • 架構會將 pTabControlBarAttachTo 窗格新增至索引標籤式窗格作為第一個索引標籤。架構接著會將目前的窗格新增為第二個索引標籤。

  4. 如果目前的窗格衍生自 CBaseTabbedPane ,則會移至 pTabControlBarAttachTo 其所有索引標籤,而且目前的窗格會終結。 因此,當您呼叫此方法時請小心,因為當方法傳回時,目前窗格的指標可能無效。

如果您在建置停駐配置時將一個窗格附加至另一個窗格,請將 設定 dockMethodDM_SHOW

您應該先停駐第一個窗格,再將另一個窗格附加至該窗格。

CDockablePane::CalcFixedLayout

傳回窗格矩形的大小。

virtual CSize CalcFixedLayout(
    BOOL bStretch,
    BOOL bHorz);

參數

bStretch
[in]未使用。

bHorz
[in]未使用。

傳回值

CSize物件,包含窗格矩形的大小。

CDockablePane::CanAcceptMiniFrame

判斷指定的迷你框架是否可以停駐到窗格。

virtual BOOL CanAcceptMiniFrame(CPaneFrameWnd* pMiniFrame) const;

參數

pMiniFrame
[in] CPaneFrameWnd 物件的指標。

傳回值

TRUE 如果 pMiniFrame 可以停駐到窗格,則為 ,否則為 FALSE

CDockablePane::CanAcceptPane

判斷是否可以將另一個窗格停駐到目前的窗格。

virtual BOOL CanAcceptPane(const CBasePane* pBar) const;

參數

pBar
[in]指定要停駐至目前窗格的窗格。

傳回值

TRUE 如果指定的窗格可以停駐到此窗格,則為 ;否則為 FALSE

備註

架構會在窗格停駐至目前窗格之前呼叫此方法。

覆寫衍生類別中的此函式,以啟用或停用特定窗格的停駐。

根據預設,如果 pBar 或其父系 CDockablePane 的類型為 ,則這個方法會 TRUE 傳回 。

CDockablePane::CanAutoHide

判斷窗格是否可以自動隱藏。

virtual BOOL CanAutoHide() const;

傳回值

TRUE 如果窗格可以自動隱藏則為 ;否則為 FALSE

備註

CDockablePane::CanAutoHideFALSE在下列任何情況中傳回:

  • 窗格沒有父代。

  • 停駐管理員不允許窗格自動隱藏。

  • 窗格未停駐。

CDockablePane::CanBeAttached

判斷目前的窗格是否可以停駐到另一個窗格。

virtual BOOL CanBeAttached() const;

傳回值

TRUE 如果可停駐窗格可以停駐到另一個窗格或主框架視窗則為 ;否則為 FALSE

備註

根據預設,這個方法一律會傳 TRUE 回 。 在衍生類別中覆寫這個方法,以啟用或停用停駐,而不呼叫 CBasePane::EnableDocking

CDockablePane::CDockablePane

建構並初始化 CDockablePane 物件。

CDockablePane();

備註

建構可停駐窗格物件之後,請呼叫 CDockablePane::CreateCDockablePane::CreateEx 加以建立。

CDockablePane::ConvertToTabbedDocument

將一或多個可停駐窗格轉換為 MDI 索引標籤式檔。

virtual void ConvertToTabbedDocument(BOOL bActiveTabOnly = TRUE);

參數

bActiveTabOnly
[in]當您轉換 CTabbedPane 時,請指定 TRUE 只轉換使用中的索引標籤。指定 FALSE 以轉換窗格中的所有索引標籤。

CDockablePane::CheckAutoHideCondition

判斷停駐窗格是否隱藏(也稱為自動隱藏模式)。

virtual BOOL CheckAutoHideCondition();

傳回值

TRUE 如果符合隱藏條件,則為 ;否則為 FALSE

備註

架構會使用計時器定期檢查是否要隱藏自動隱藏可停駐窗格。 方法會在 TRUE 窗格未使用中、窗格未調整大小,且滑鼠指標不在窗格上方時傳回。

如果符合所有先前的條件,架構會呼叫 CDockablePane::Slide 以隱藏窗格。

CDockablePane::CheckStopSlideCondition

判斷自動隱藏停駐窗格何時應該停止滑動。

virtual BOOL CheckStopSlideCondition(BOOL bDirection);

參數

bDirection
[in] TRUE 如果顯示窗格,則為 ; FALSE 如果窗格已隱藏,則為 。

傳回值

TRUE 如果符合停止條件,則為 ;否則為 FALSE

備註

當可停駐窗格設定為自動隱藏模式時,架構會使用滑動效果來顯示或隱藏窗格。 架構會在窗格滑動時呼叫此函式。 CheckStopSlideConditionTRUE 窗格完全可見或完全隱藏時,會傳回 。

覆寫衍生類別中的這個方法,以實作自訂自動隱藏效果。

CDockablePane::CopyState

複製可停駐窗格的狀態。

virtual void CopyState(CDockablePane* pOrgBar);

參數

pOrgBar
[in]可停駐窗格的指標。

備註

CDockablePane::CopyState 藉由呼叫下列方法,將 的狀態 pOrgBar 複製到目前的窗格:

CDockablePane::Create

建立 Windows 控制項並將它附加至 CDockablePane 物件。

virtual BOOL Create(
    LPCTSTR lpszCaption,
    CWnd* pParentWnd,
    const RECT& rect,
    BOOL bHasGripper,
    UINT nID,
    DWORD dwStyle,
    DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
    DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE,
    CCreateContext* pContext = NULL);

virtual BOOL Create(
    LPCTSTR lpszWindowName,
    CWnd* pParentWnd,
    CSize sizeDefault,
    BOOL bHasGripper,
    UINT nID,
    DWORD dwStyle = WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_HIDE_INPLACE,
    DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
    DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE);

參數

lpszCaption
[in]指定視窗名稱。

pParentWnd
[in, out]指定父視窗。

rect
[in]在 的用戶端座標 pParentWnd 中,指定視窗的大小和位置。

bHasGripper
[in] TRUE表示使用 標題 建立窗格, FALSE 否則為 。

nID
[in]指定子視窗的識別碼。 如果您想要儲存此停駐窗格的停駐狀態,此值必須是唯一的。

dwStyle
[in]指定視窗樣式屬性。

dwTabbedStyle
[in]指定當使用者在此窗格的標題拖曳窗格時所建立之索引標籤式視窗的索引標籤樣式。

dwControlBarStyle
[in]指定其他樣式屬性。

pContext
[in, out]指定視窗的建立內容。

lpszWindowName
[in]指定視窗名稱。

sizeDefault
[in]指定視窗的大小。

傳回值

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

備註

建立 Windows 窗格,並將它附加至 CDockablePane 物件。

dwStyle如果視窗樣式具有 CBRS_FLOAT_MULTI 旗標,小型框架視窗可以浮動于小型框架視窗中的其他窗格。 根據預設,停駐窗格只能個別浮動。

dwTabbedStyle如果參數已 AFX_CBRS_OUTLOOK_TABS 指定 旗標,則當另一個窗格使用 CDockablePane::AttachToTabWnd 方法附加至此窗格時,窗格會建立 Outlook 樣式的索引標籤窗格。 根據預設,可停駐窗格會建立類型的 CTabbedPane 一般索引標籤式窗格。

CDockablePane::CreateDefaultPaneDivider

建立窗格的預設分隔符號,因為它停駐在框架視窗。

static CPaneDivider* __stdcall CreateDefaultPaneDivider(
    DWORD dwAlignment,
    CWnd* pParent,
    CRuntimeClass* pSliderRTC = NULL);

參數

dwAlignment
[in]指定要停駐窗格之主框架的一側。 如果 dwAlignment 包含 CBRS_ALIGN_LEFTCBRS_ALIGN_RIGHT 旗標,這個方法會建立垂直 ( CPaneDivider::SS_VERT ) 分隔線;否則,這個方法會建立水準 ( CPaneDivider::SS_HORZ ) 分隔線。

pParent
[in]父框架的指標。

pSliderRTC
[in]未使用。

傳回值

這個方法會傳回新建立之分隔線的指標,如果 NULL 分隔線建立失敗,則為 。

備註

dwAlignment 可以是下列任一值:

Description
CBRS_ALIGN_TOP 窗格正停駐在框架視窗的工作區頂端。
CBRS_ALIGN_BOTTOM 窗格正停駐在框架視窗工作區的底部。
CBRS_ALIGN_LEFT 窗格停駐在框架視窗工作區的左側。
CBRS_ALIGN_RIGHT 窗格停駐在框架視窗工作區的右側。

CDockablePane::CreateEx

建立 Windows 控制項並將它附加至 CDockablePane 物件。

virtual BOOL CreateEx(
    DWORD dwStyleEx,
    LPCTSTR lpszCaption,
    CWnd* pParentWnd,
    const RECT& rect,
    BOOL bHasGripper,
    UINT nID,
    DWORD dwStyle,
    DWORD dwTabbedStyle = AFX_CBRS_REGULAR_TABS,
    DWORD dwControlBarStyle = AFX_DEFAULT_DOCKING_PANE_STYLE,
    CCreateContext* pContext = NULL);

參數

dwStyleEx
[in]指定新視窗的擴充樣式屬性。

lpszCaption
[in]指定視窗名稱。

pParentWnd
[in, out]指定父視窗。

rect
[in]在 的用戶端座標 pParentWnd 中,指定視窗的大小和位置。

bHasGripper
[in] TRUE表示使用 標題 建立窗格, FALSE 否則為 。

nID
[in]指定子視窗的識別碼。 如果您想要儲存此停駐窗格的停駐狀態,此值必須是唯一的。

dwStyle
[in]指定視窗樣式屬性。

dwTabbedStyle
[in]指定當使用者在此窗格的標題拖曳窗格時所建立之索引標籤式視窗的索引標籤樣式。

dwControlBarStyle
[in]指定其他樣式屬性。

pContext
[in, out]指定視窗的建立內容。

傳回值

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

備註

建立 Windows 窗格,並將它附加至 CDockablePane 物件。

dwStyle如果視窗樣式具有 CBRS_FLOAT_MULTI 旗標,小型框架視窗可以浮動于小型框架視窗中的其他窗格。 根據預設,停駐窗格只能個別浮動。

dwTabbedStyle如果參數已 AFX_CBRS_OUTLOOK_TABS 指定 旗標,則當另一個窗格使用 CDockablePane::AttachToTabWnd 方法附加至此窗格時,窗格會建立 Outlook 樣式的索引標籤窗格。 根據預設,可停駐窗格會建立類型的 CTabbedPane 一般索引標籤式窗格。

CDockablePane::CreateTabbedPane

從目前的窗格建立索引標籤式窗格。

virtual CTabbedPane* CreateTabbedPane();

傳回值

新的索引標籤式窗格,如果 NULL 建立作業失敗,則為 。

備註

架構會在建立索引標籤式窗格來取代此窗格時呼叫此方法。 如需詳細資訊,請參閱CDockablePane::AttachToTabWnd

覆寫衍生類別中的這個方法,以自訂如何建立和初始化索引標籤式窗格。

索引標籤式窗格會根據儲存在 成員中的 m_pTabbedControlBarRTC 執行時間類別資訊來建立,而這個資訊是由 CDockablePane::CreateEx 方法初始化。

CDockablePane::DockPaneContainer

將容器停駐到窗格。

virtual BOOL DockPaneContainer(
    CPaneContainerManager& barContainerManager,
    DWORD dwAlignment,
    AFX_DOCK_METHOD dockMethod);

參數

barContainerManager
[in]要停駐之容器之容器管理員的參考。

dwAlignment
[in] DWORD ,指定容器停駐所在的窗格側。

dockMethod
[in]未使用。

傳回值

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

備註

dwAlignment 可以是下列任一值:

Description
CBRS_ALIGN_TOP 容器正停駐在窗格頂端。
CBRS_ALIGN_BOTTOM 容器正停駐在窗格底部。
CBRS_ALIGN_LEFT 容器正停駐在窗格左側。
CBRS_ALIGN_RIGHT 容器停駐在窗格右側。

CDockablePane::DockPaneStandard

使用大綱(標準)停駐來停駐窗格。

virtual CPane* DockPaneStandard(BOOL& bWasDocked);

參數

bWasDocked
[in]當方法傳回時,如果已成功停駐窗格,則這個值會包含 TRUE ,否則會包含 FALSE

傳回值

如果窗格停駐到索引標籤式視窗,或因為停駐而建立索引標籤式視窗,這個方法會傳回索引標籤式視窗的指標。 如果窗格已成功停駐,這個方法會傳 this 回指標。 如果停駐失敗,這個方法會傳 NULL 回 。

CDockablePane::DockToRecentPos

將窗格停駐到其儲存的停駐位置。

BOOL CDockablePane::DockToRecentPos();

傳回值

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

備註

可停駐窗格會將最近的停駐資訊儲存在 物件中 CRecentDockSiteInfo

CDockablePane::DockToWindow

將一個停駐窗格停駐到另一個停駐窗格。

virtual BOOL DockToWindow(
    CDockablePane* pTargetWindow,
    DWORD dwAlignment,
    LPCRECT lpRect = NULL);

參數

pTargetWindow
[in, out]指定要將這個窗格停駐到的可停駐窗格。

dwAlignment
[in]指定窗格的停駐對齊方式。 可以是 、、 CBRS_ALIGN_BOTTOMCBRS_ALIGN_TOPCBRS_ALIGN_RIGHTCBRS_ALIGN_ANYCBRS_ALIGN_LEFT 其中一個。 (定義在 afxres.h 中)

lpRect
[in]指定窗格的停駐矩形。

傳回值

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

備註

呼叫這個方法,將一個窗格停駐到另一個窗格,並具有 所 dwAlignment 指定的對齊方式。

CDockablePane::DrawCaption

繪製停駐窗格的標題(也稱為夾子)。

virtual void DrawCaption(
    CDC* pDC,
    CRect rectCaption);

參數

pDC
[in]表示用於繪製的裝置內容。

rectCaption
[in]指定窗格標題的周框。

備註

架構會呼叫此方法,以繪製可停駐窗格的標題。

覆寫衍生類別中的這個方法,以自訂標題的外觀。

CDockablePane::EnableAutohideAll

啟用或停用此窗格的自動隱藏模式,以及容器中的其他窗格。

void EnableAutohideAll(BOOL bEnable = TRUE);

參數

bEnable
[in] TRUE 表示啟用可停駐窗格的自動隱藏所有功能;否則為 FALSE

備註

當使用者按住 Ctrl 鍵並按一下釘選按鈕,將窗格切換為自動隱藏模式時,相同容器中的所有其他窗格也會切換為自動隱藏模式。

呼叫這個方法, bEnable 並將 設定為 FALSE ,以停用特定窗格的這項功能。

CDockablePane::EnableGripper

顯示或隱藏標題(也稱為夾克)。

virtual void EnableGripper(BOOL bEnable);

參數

bEnable
[in] TRUE表示啟用標題,否則為 FALSE

備註

當架構建立可停駐窗格時,即使已指定,也不會有 WS_STYLE 視窗樣式。 這表示窗格的標題是受架構控制的非工作區,但此區域與標準視窗標題不同。

您可以隨時顯示或隱藏標題。 當窗格新增為索引標籤至索引標籤視窗或小型框架視窗中浮動時,架構會隱藏標題。

CDockablePane::GetAHRestoredRect

指定處於自動隱藏模式時窗格的位置。

CRect GetAHRestoredRect() const;

傳回值

CRect物件,包含窗格處於自動隱藏模式時的位置。

備註

CDockablePane::GetAHSlideMode

擷取窗格的自動隱藏投影片模式。

virtual UINT GetAHSlideMode() const;

傳回值

UINT,指定窗格的自動隱藏投影片模式。 傳回值可以是 AFX_AHSM_MOVEAFX_AHSM_STRETCH ,但實作只會使用 AFX_AHSM_MOVE

備註

CDockablePane::GetCaptionHeight

傳回目前標題的高度,以圖元為單位。

virtual int GetCaptionHeight() const;

傳回值

標題的高度,以圖元為單位。

備註

如果方法隱藏 CDockablePane::EnableGripper 標題,或窗格沒有標題,則標題高度為 0。

CDockablePane::GetDefaultPaneDivider

傳回窗格容器的預設窗格分隔符號。

CPaneDivider* GetDefaultPaneDivider() const;

傳回值

如果可停駐窗格停駐到主框架視窗,或停駐窗格未停駐,或 NULL 浮動,則為有效的 CPaneDivider 物件。

備註

如需窗格分隔符號的詳細資訊,請參閱 CPaneDivider 類別

CDockablePane::GetDockingStatus

決定根據提供的指標位置來停駐窗格的能力。

virtual AFX_CS_STATUS GetDockingStatus(
    CPoint pt,
    int nSensitivity);

參數

pt
[in]螢幕座標中指標的位置。

nSensitivity
[in]距離距離矩形邊緣的距離必須啟用停駐。

傳回值

下列其中一個狀態值:

AFX_CS_STATUS 意義
CS_NOTHING 指標不在停駐月臺上。 架構不會停駐窗格。
CS_DOCK_IMMEDIATELY 指標位於直接模式的停駐月臺上(窗格使用 DT_IMMEDIATE 停駐模式)。 架構會立即停駐窗格。
CS_DELAY_DOCK 指標位於停駐月臺上,該月臺是另一個停駐窗格或主框架的邊緣。 架構在延遲之後停駐窗格。 如需此延遲的詳細資訊,請參閱一節。
CS_DELAY_DOCK_TO_TAB 指標位於停駐月臺上,導致窗格停駐在索引標籤式視窗中。 當指標位於另一個停駐窗格的標題或索引標籤窗格的索引標籤區域上時,就會發生這種情況。

備註

架構會呼叫此方法來處理浮動窗格的停駐。

對於使用 DT_IMMEDIATE 停駐模式的浮動工具列或停駐窗格,架構會延遲停駐命令,讓使用者在停駐發生前,將視窗移出父框架的工作區。 延遲的長度是以毫秒為單位來測量, CDockingManager::m_nTimeOutBeforeToolBarDock 並由資料成員控制。 的預設值 CDockingManager::m_nTimeOutBeforeToolBarDock 為 200。 此行為會模擬 Microsoft Word 2007 的停駐行為。

針對延遲的停駐狀態 ( CS_DELAY_DOCKCS_DELAY_DOCK_TO_TAB ),架構在使用者放開滑鼠按鍵之前,不會執行停駐。 如果窗格使用 DT_STANDARD 停駐模式,架構會在投影的停駐位置顯示矩形。 如果窗格使用 DT_SMART 停駐模式,架構會在投影的停駐位置顯示智慧停駐標記和半透明矩形。 若要指定窗格的停駐模式,請呼叫 CBasePane::SetDockingMode 方法。 如需智慧停駐的詳細資訊,請參閱 CDockingManager::GetSmartDockingParams

CDockablePane::GetDragSensitivity

傳回停駐窗格的拖曳敏感度。

static const CSize& GetDragSensitivity();

傳回值

CSize物件,包含以圖元為單位的矩形寬度和高度,以圖元為單位,以拖曳點為中心。 拖曳作業不會開始,直到滑鼠指標移到這個矩形之外為止。

CDockablePane::GetLastPercentInPaneContainer

擷取窗格在其容器中佔用的空間百分比( CPaneContainer 類別 )。

int GetLastPercentInPaneContainer() const;

傳回值

int,指定窗格在其容器中佔用的空間百分比。

備註

當容器調整其配置時,會使用這個方法。

CDockablePane::GetTabArea

擷取窗格的索引標籤區域。

virtual void GetTabArea(
    CRect& rectTabAreaTop,
    CRect& rectTabAreaBottom) const;

參數

rectTabAreaTop
[in] GetTabArea 如果索引標籤位於窗格頂端,則填入此變數的索引標籤區域。 如果索引標籤位於窗格底部,此變數會填入空白矩形。

rectTabAreaBottom
[in] GetTabArea 如果索引標籤位於窗格底部,則會以索引標籤區域填滿此變數。 如果索引標籤位於窗格頂端,此變數會填入空白矩形。

備註

這個方法只適用于衍生自 CDockablePane 且具有索引標籤的類別。 如需詳細資訊,請參閱 CTabbedPane::GetTabAreaCMFCOutlookBar::GetTabArea

CDockablePane::GetTabbedPaneRTC

傳回當另一個窗格停駐至目前窗格時所建立索引標籤式視窗的執行時間類別資訊。

CRuntimeClass* GetTabbedPaneRTC() const;

傳回值

可停駐窗格的執行時間類別資訊。

備註

呼叫這個方法,以擷取動態建立之索引標籤式窗格的執行時間類別資訊。 當使用者將一個窗格拖曳至另一個窗格的標題,或呼叫 CDockablePane::AttachToTabWnd 方法,以程式設計方式從兩個可停駐窗格建立索引標籤式窗格時,就會發生這種情況。

您可以呼叫 CDockablePane::SetTabbedPaneRTC 方法來設定執行時間類別資訊。

CDockablePane::HasAutoHideMode

指定是否可以將停駐窗格切換為自動隱藏模式。

virtual BOOL HasAutoHideMode() const;

傳回值

TRUE 如果可停駐窗格可以切換為自動隱藏模式,則為 ;否則為 FALSE

備註

覆寫衍生類別中的這個方法,以停用特定可停駐窗格的自動隱藏模式。

CDockablePane::HitTest

指定使用者在按一下滑鼠的窗格中的位置。

virtual int HitTest(
    CPoint point,
    BOOL bDetectCaption = FALSE);

參數

point
[in]指定要測試的點。

bDetectCaption
[in] TRUE如果 HTCAPTION 點位於窗格的標題,則為 ,否則 FALSE 為 。

傳回值

下列其中一個值:

  • HTNOWHERE 如果 point 不在可停駐窗格中,則為 。

  • HTCLIENT 如果 point 位於可停駐窗格的工作區中,則為 。

  • HTCAPTION如果 point 位於可停駐窗格的標題區域中,則為 。

  • AFX_HTCLOSE 如果 point 位於關閉按鈕上,則為 。

  • HTMAXBUTTON 如果 point 位於釘選按鈕上,則為 。

CDockablePane::IsAutohideAllEnabled

指出容器中的停駐窗格和所有其他窗格是否可以切換為自動隱藏模式。

virtual BOOL IsAutohideAllEnabled() const;

傳回值

TRUE 如果可停駐窗格和容器中的所有其他窗格,都可以切換為自動隱藏模式;否則為 FALSE

備註

使用者在按住 Ctrl 鍵時按一下停駐釘選按鈕,以啟用自動隱藏模式

若要啟用或停用此行為,請呼叫 CDockablePane::EnableAutohideAll 方法。

CDockablePane::IsAutoHideMode

判斷窗格是否處於自動隱藏模式。

virtual BOOL IsAutoHideMode() const;

傳回值

TRUE 如果可停駐窗格處於自動隱藏模式,則為 ;否則為 FALSE

CDockablePane::IsDocked

判斷目前的窗格是否已停駐。

virtual BOOL IsDocked() const;

傳回值

TRUE 如果可停駐窗格不屬於小型框架視窗,或是它浮動在另一個窗格的小型框架視窗中則為 。 FALSE 如果窗格是小型框架視窗的子系,而且沒有屬於小型框架視窗的其他窗格。

備註

若要判斷窗格是否停駐到主框架視窗,請呼叫 CDockablePane::GetDefaultPaneDivider 。 如果方法傳回非 NULL 指標,窗格會停駐在主框架視窗。

CDockablePane::IsHideInAutoHideMode

藉由呼叫 CDockablePane::ShowPane 來判斷處於自動隱藏模式的窗格行為。如果窗格顯示為或隱藏。

virtual BOOL IsHideInAutoHideMode() const;

傳回值

TRUE 如果在自動隱藏模式中應隱藏可停駐窗格,則為 ;否則為 FALSE

備註

當可停駐窗格處於自動隱藏模式時,當您呼叫 ShowPane 隱藏或顯示窗格時,其行為會有所不同。 此行為是由靜態成員 CDockablePane::m_bHideInAutoHideMode 所控制。 如果這個成員是 TRUE ,當呼叫 ShowPane 時,可停駐窗格及其相關的自動隱藏工具列或自動隱藏按鈕會隱藏或顯示。 否則,可停駐窗格會啟動或停用,且其相關的自動隱藏工具列或自動隱藏按鈕一律會顯示。

覆寫衍生類別中的這個方法,以變更個別窗格的預設行為。

m_bHideInAutoHideMode 的預設值為 FALSE

CDockablePane::IsInFloatingMultiPaneFrameWnd

指定窗格是否位於多窗格框架視窗中 ( CMultiPaneFrameWnd Class )。

virtual BOOL IsInFloatingMultiPaneFrameWnd() const;

傳回值

TRUE 如果窗格位於多窗格框架視窗中,則為 ;否則為 FALSE

備註

CDockablePane::IsResizable

指定窗格是否可調整大小。

virtual BOOL IsResizable() const;

傳回值

TRUE 如果窗格可調整大小,則為 ;否則為 FALSE

備註

根據預設,可停駐窗格可調整大小。 若要避免調整大小,請在衍生類別中覆寫這個方法並傳回 FALSE 。 請注意,值 FALSE 會導致 中的 CPane::DockPane 失敗 ASSERT 。 請 CDockingManager::AddPane 改用 ,將窗格停駐在父框架內。

無法調整大小的窗格既不能浮動,也不能進入自動隱藏模式,而且一律位於父框架的外緣。

CDockablePane::IsTabLocationBottom

指定索引標籤是否位於窗格的頂端或底部。

virtual BOOL IsTabLocationBottom() const;

傳回值

TRUE 如果索引標籤位於窗格底部,則為 ; FALSE 如果索引標籤位於窗格頂端,則為 。

備註

如需詳細資訊,請參閱CTabbedPane::IsTabLocationBottom

CDockablePane::IsTracked

指定使用者是否移動窗格。

BOOL IsTracked() const;

傳回值

TRUE 如果正在移動窗格,則為 ;否則為 FALSE

CDockablePane::IsVisible

判斷目前的窗格是否可見。

virtual BOOL IsVisible() const;

傳回值

TRUE 如果可停駐窗格可見,則為 ;否則為 FALSE

備註

呼叫這個方法,以判斷可停駐窗格是否可見。 您可以使用此方法,而不是呼叫 CWnd::IsWindowVisibleWS_VISIBLE 或測試樣式。 傳回的可見度狀態取決於是否啟用或停用自動隱藏模式,以及 屬性的值 CDockablePane::IsHideInAutoHideMode

如果可停駐窗格處於自動隱藏模式,且 IsHideInAutoHideModeFALSE 回可見度狀態一律 FALSE 為 。

如果可停駐窗格處於自動隱藏模式,並 IsHideInAutoHideMode 傳回 TRUE 可見度狀態取決於相關自動隱藏工具列的可見度狀態。

如果可停駐窗格不在自動隱藏模式中,則可見度狀態是由 CBasePane::IsVisible 方法決定。

## CDockablePane::LoadState

僅限內部使用。 如需詳細資訊,請參閱位於 Visual Studio 安裝資料夾中的原始程式碼 mfc 。 例如: %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc

virtual BOOL LoadState(
   LPCTSTR lpszProfileName = NULL,
   int nIndex = -1,
   UINT uiID = (UINT) -1
);

CDockablePane::m_bDisableAnimation

指定是否停用可停駐窗格的自動隱藏動畫。

AFX_IMPORT_DATA static BOOL m_bDisableAnimation;

CDockablePane::m_bHideInAutoHideMode

當窗格處於自動隱藏模式時,決定窗格的行為。

AFX_IMPORT_DATA static BOOL m_bHideInAutoHideMode;

備註

此值會影響應用程式中的所有停駐窗格。

如果您將此成員設定為 TRUE ,當您呼叫 CDockablePane::ShowPane 時,可停駐窗格會隱藏或顯示其相關的自動隱藏工具列和按鈕。

如果您將此成員設定為 FALSE ,當您呼叫 CDockablePane::ShowPane 時,即會啟動或停用可停駐窗格。

CDockablePane::m_nSlideSteps

指定處於自動隱藏模式時窗格的動畫速度。

AFX_IMPORT_DATA static int m_nSlideSteps;

備註

若要加快動畫效果,請減少此值。 對於較慢的動畫效果,請增加此值。

CDockablePane::OnAfterChangeParent

如需詳細資訊,請參閱位於 Visual Studio 安裝資料夾中的原始程式碼 mfc 。 例如: %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc

virtual void OnAfterChangeParent(CWnd* pWndOldParent);

參數

[輸入] pWndOldParent\

備註

CDockablePane::OnAfterDockFromMiniFrame

當浮動停駐列停駐在框架視窗時,由架構呼叫。

virtual void OnAfterDockFromMiniFrame();

備註

根據預設,此方法不會執行任何動作。

CDockablePane::OnBeforeChangeParent

架構會在變更窗格的父代之前呼叫此方法。

virtual void OnBeforeChangeParent(
    CWnd* pWndNewParent,
    BOOL bDelay = FALSE);

參數

pWndNewParent
[in]新父視窗的指標。

bDelay
[in]BOOL,指定是否在取消停駐窗格時延遲重新計算停駐配置。 如需詳細資訊,請參閱CDockablePane::UndockPane

備註

如果窗格已停駐,且新的父代不允許停駐,這個方法會取消停駐窗格。

如果窗格正在轉換成索引標籤式檔,這個方法會儲存其最近的停駐位置。 架構會使用最近的停駐位置,在窗格轉換成停駐狀態時還原窗格的位置。

CDockablePane::OnBeforeFloat

架構會在窗格轉換為浮動狀態之前呼叫此方法。

virtual BOOL OnBeforeFloat(
    CRect& rectFloat,
    AFX_DOCK_METHOD dockMethod);

參數

rectFloat
[in]指定窗格處於浮動狀態時的位置和大小。

dockMethod
[in]指定停駐方法。 如需可能值的清單,請參閱 CPane::DockPane

傳回值

TRUE 如果窗格可以浮動則為 ;否則為 FALSE

備註

當窗格即將浮點時,架構會呼叫這個方法。 如果您想要在窗格浮動之前執行任何處理,可以在衍生類別中覆寫這個方法。

CDockablePane::OnPressButtons

當使用者按下 和 AFX_HTMAXBUTTON 按鈕以外的 AFX_HTCLOSE 標題按鈕時呼叫。

virtual void OnPressButtons(UINT nHit);

參數

nHit
[in]不使用此參數。

備註

如果您將自訂按鈕新增至可停駐窗格的標題,請覆寫此方法,以在使用者按下按鈕時接收通知。

CDockablePane::OnSlide

由架構呼叫,以在處於自動隱藏模式時建立窗格的動畫效果。

virtual void OnSlide(BOOL bSlideOut);

參數

bSlideOut
[in] TRUE 顯示窗格; FALSE 以隱藏窗格。

備註

覆寫衍生類別中的這個方法,以實作自訂自動隱藏效果。

CDockablePane::RemoveFromDefaultPaneDividier

架構會在取消停駐窗格時呼叫這個方法。

void RemoveFromDefaultPaneDividier();

備註

這個方法會將預設窗格分隔符號設定為 NULL ,並從其容器中移除窗格。

CDockablePane::ReplacePane

將窗格取代為指定的窗格。

BOOL ReplacePane(
    CDockablePane* pBarToReplaceWith,
    AFX_DOCK_METHOD dockMethod,
    BOOL bRegisterWithFrame = FALSE);

參數

pBarToReplaceWith
[in]可停駐窗格的指標。

dockMethod
[in]未使用。

bRegisterWithFrame
[in]如果 TRUE 為 ,則會向舊窗格父代的停駐管理員註冊新窗格。 新窗格會在停駐管理員維護的窗格清單中,插入舊窗格的索引。

傳回值

TRUE 如果取代成功,則為 ;否則為 FALSE

CDockablePane::RestoreDefaultPaneDivider

還原序列化窗格時,架構會呼叫此方法來還原預設窗格分隔符號。

void RestoreDefaultPaneDivider();

備註

還原的預設窗格分隔器會取代目前的預設窗格分隔器,如果存在的話。

CDockablePane::SetAutoHideMode

在可見和自動隱藏模式之間切換停駐窗格。

virtual CMFCAutoHideBar* SetAutoHideMode(
    BOOL bMode,
    DWORD dwAlignment,
    CMFCAutoHideBar* pCurrAutoHideBar = NULL,
    BOOL bUseTimer = TRUE);

參數

bMode
[in] TRUE 表示啟用自動隱藏模式; FALSE 以啟用一般停駐模式。

dwAlignment
[in]指定要建立之自動隱藏窗格的對齊方式。

pCurrAutoHideBar
[in, out]目前自動隱藏工具列的指標。 可以是 NULL

bUseTimer
[in]指定當使用者將窗格切換為自動隱藏模式或立即隱藏窗格時,是否要使用自動隱藏效果。

傳回值

因為切換至自動隱藏模式,或 NULL 所建立的自動隱藏工具列。

備註

當使用者按一下 [釘選] 按鈕,將可停駐窗格切換為自動隱藏模式或一般停駐模式時,架構會呼叫此方法。

呼叫這個方法,以程式設計方式將可停駐窗格切換為自動隱藏模式。 窗格必須停駐到主框架視窗( CDockablePane::GetDefaultPaneDivider 必須傳回 的有效指標至 CPaneDivider

CDockablePane::SetAutoHideParents

設定窗格的自動隱藏按鈕和自動隱藏工具列。

void SetAutoHideParents(
    CMFCAutoHideBar* pToolBar,
    CMFCAutoHideButton* pBtn);

參數

pToolBar
[in]自動隱藏工具列的指標。

pBtn
[in]自動隱藏按鈕的指標。

CDockablePane::SetLastPercentInPaneContainer

設定窗格在其容器中佔用的空間百分比。

void SetLastPercentInPaneContainer(int n);

參數

n
[in] int ,指定窗格在其容器中佔用的空間百分比。

備註

架構會調整窗格,以在重新計算版面配置時使用新值。

CDockablePane::SetRestoredDefaultPaneDivider

設定還原的預設窗格分隔符號。

void SetRestoredDefaultPaneDivider(HWND hRestoredSlider);

參數

hRestoredSlider
[in]窗格分隔符號的控制碼(滑杆)。

備註

還原序列化窗格時,會取得還原的預設窗格分隔符號。 如需詳細資訊,請參閱CDockablePane::RestoreDefaultPaneDivider

CDockablePane::SetTabbedPaneRTC

設定當兩個窗格停駐在一起時所建立之索引標籤視窗的執行時間類別資訊。

void SetTabbedPaneRTC(CRuntimeClass* pRTC);

參數

pRTC
[in]索引標籤窗格的執行時間類別資訊。

備註

呼叫這個方法,以設定動態建立之索引標籤式窗格的執行時間類別資訊。 當使用者將一個窗格拖曳至另一個窗格的標題,或呼叫 CDockablePane::AttachToTabWnd 方法,以程式設計方式從兩個可停駐窗格建立索引標籤式窗格時,就會發生這種情況。

預設執行時間類別會根據 dwTabbedStyleCDockablePane::CreateExCDockablePane::Create 參數來設定。 若要自訂新的索引標籤式窗格,請從下列其中一個類別衍生類別:

然後,使用執行時間類別資訊的指標呼叫這個方法。

CDockablePane::ShowPane

顯示或隱藏窗格。

virtual void ShowPane(
    BOOL bShow,
    BOOL bDelay,
    BOOL bActivate);

參數

bShow
[in] TRUE 顯示窗格; FALSE 以隱藏窗格。

bDelay
[in] TRUE 表示延遲調整停駐配置; FALSE 以立即調整停駐配置。

bActivate
[in] TRUE 表示顯示時啟動窗格;否則為 FALSE

備註

顯示或隱藏可停駐窗格時,請呼叫這個方法,而不是 CWnd::ShowWindow

CDockablePane::Slide

以自動隱藏模式建立窗格的動畫。

virtual void Slide(
    BOOL bSlideOut,
    BOOL bUseTimer = TRUE);

參數

bSlideOut
[in] TRUE 顯示窗格; FALSE 以隱藏窗格。

bUseTimer
[in] TRUE 表示顯示或隱藏具有自動隱藏效果的窗格; FALSE 表示立即顯示或隱藏窗格。

備註

架構會呼叫此方法,以動畫顯示處於自動隱藏模式的窗格。

這個方法會使用 CDockablePane::m_nSlideDefaultTimeOut 值來判斷投影片效果的逾時。 逾時的預設值為 1。 如果您自訂自動隱藏演算法,請修改此成員以變更逾時。

CDockablePane::ToggleAutoHide

在一律可見和自動隱藏模式之間切換窗格。

virtual void ToggleAutoHide();

備註

這個方法會呼叫 CDockablePane::SetAutoHideMode 來切換窗格的自動隱藏模式。

CDockablePane::UndockPane

從主框架視窗或小型框架視窗容器取消停駐窗格。

virtual void UndockPane(BOOL bDelay = FALSE);

參數

bDelay
[in] TRUE 表示延遲計算停駐配置; FALSE 以立即重新計算停駐配置。

備註

呼叫這個方法,從主框架視窗或從多小型框架視窗容器取消停駐窗格(具有其他窗格的單一小型框架視窗中浮動的窗格)。

您必須先取消停駐窗格,才能執行 未由 CDockingManager 執行的任何外部作業。 例如,您必須取消停駐窗格,以程式設計方式將窗格從某個位置移至另一個位置。

架構會在終結之前自動取消停駐窗格。

另請參閱

階層架構圖表
類別
CPane