CTabbedPane 類別
實作具有可拆式索引標籤之窗格的功能。
或更多詳細數據,請參閱 Visual Studio 安裝的 VC\atlmfc\src\mfc 資料夾中的原始程式碼。
語法
class CTabbedPane : public CBaseTabbedPane
成員
公用建構函式
名稱 | 描述 |
---|---|
CTabbedPane::CTabbedPane |
預設建構函式。 |
公用方法
名稱 | 描述 |
---|---|
CTabbedPane::D etachPane | (覆寫 CBaseTabbedPane::D etachPane.) |
CTabbedPane::EnableTabAutoColor | 啟用或停用索引標籤的自動著色。 |
CTabbedPane::FloatTab | 浮動窗格,但只有在窗格目前位於可中斷連結的索引卷標中。(覆寫 CBaseTabbedPane::FloatTab.) |
CTabbedPane::GetTabArea | 傳回索引標籤式視窗內的索引標籤區域的大小和位置。 |
CTabbedPane::GetTabWnd | |
CTabbedPane::HasAutoHideMode | 決定索引標籤式窗格是否可切換為自動隱藏模式。 (覆寫 CBaseTabbedPane::HasAutoHideMode.) |
CTabbedPane::IsTabLocationBottom | 決定索引標籤是否位於視窗底部。 |
CTabbedPane::ResetTabs | 將所有的索引標籤式窗格重設為預設狀態。 |
CTabbedPane::SetTabAutoColors | 設定在自動套色功能啟用時可以使用的自訂色彩清單。 |
資料成員
名稱 | 描述 |
---|---|
CTabbedPane::m_bTabsAlwaysTop | 應用程式中的索引標籤的預設位置。 |
CTabbedPane::m_pTabWndRTC | 自訂 CMFCTabCtrl 衍生物件的執行階段類別資訊。 |
備註
當使用者指向第二個窗格的標題,將一個窗格附加到另一個窗格時,架構會自動建立此類別的執行個體。 架構所建立的所有索引標籤式窗格,ID 皆為 -1。
若要指定一般索引標籤,而不是 Outlook 樣式的索引標籤,請將AFX_CBRS_REGULAR_TABS樣式傳遞至 CDockablePane::CreateEx 方法。
如果您建立具有可卸離索引標籤的索引標籤式窗格,架構可能會自動終結該窗格,因此您不應儲存指標。 若要取得索引標籤式窗格的指標,請呼叫 CBasePane::GetParentTabbedPane
方法。
範例
在此範例中,我們會建立 CTabbedPane
物件。 接下來,我們使用 CBaseTabbedPane::AddTab 附加其他索引標籤。
CTabbedPane* pTabbededBar = new CTabbedPane (TRUE);
if (!pTabbededBar->Create (_T(""),
this,
CRect (0,
0,
200,
200),
TRUE,
(UINT) -1,
WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS |
WS_CLIPCHILDREN | CBRS_LEFT |
CBRS_FLOAT_MULTI))
{
TRACE0("Failed to create Solution Explorer bar\n");
return FALSE; // fail to create
}
pTabbededBar->AddTab (&m_wndClassView);
pTabbededBar->AddTab (&m_wndResourceView);
pTabbededBar->AddTab (&m_wndFileView);
pTabbededBar->EnableDocking(CBRS_ALIGN_ANY);
DockPane(pTabbededBar);
另一個建立索引標籤式控制物件的方式是使用 CDockablePane::AttachToTabWnd。 方法會AttachToTabWnd
使用 CDockablePane::SetTabbedPaneRTC 所設定的運行時間類別資訊,動態建立索引卷標式窗格物件。
在此範例中,我們會以動態方式建立索引標籤式窗格、附加兩個索引標籤,然後使第二個索引標籤無法卸離。
DockPane(&m_wndClassView);
CTabbedPane* pTabbedBar = NULL;
m_wndResourceView.AttachToTabWnd (&m_wndClassView,
DM_SHOW,
TRUE,
(CDockablePane**) &pTabbedBar);
m_wndFileView.AttachToTabWnd (pTabbedBar,
DM_SHOW,
TRUE,
(CDockablePane**) &pTabbedBar);
pTabbedBar->GetUnderlyingWindow ()->EnableTabDetach (1,
FALSE);
繼承階層架構
需求
標頭: afxTabbedPane.h
CTabbedPane::D etachPane
virtual BOOL DetachPane(
CWnd* pBar,
BOOL bHide = FALSE);
參數
[in] pBar
[in] bHide
傳回值
備註
CTabbedPane::EnableTabAutoColor
啟用或停用索引標籤的自動著色。
static void EnableTabAutoColor(BOOL bEnable = TRUE);
參數
bEnable
[in]TRUE 表示啟用索引標籤的自動著色;否則為 FALSE。
備註
使用此靜態方法來啟用或停用應用程式中所有索引卷標窗格的索引標籤自動著色。 啟用此功能時,每個索引標籤都會以自己的色彩填滿。 您可以藉由呼叫 CMFCBaseTabCtrl::GetAutoColors 方法來尋找用來設定索引標籤色彩的色彩清單。
您可以藉由呼叫 CTabbedPane::SetTabAutoColors 來指定將用於索引標籤的色彩清單。
預設會停用這個選項。
CTabbedPane::FloatTab
virtual BOOL FloatTab(
CWnd* pBar,
int nTabID,
AFX_DOCK_METHOD dockMethod,
BOOL bHide = FALSE);
參數
[in] pBar
[in] nTabID
[in] dockMethod
[in] bHide
傳回值
備註
CTabbedPane::GetTabArea
傳回索引標籤視窗中索引標籤區域的大小和位置。
virtual void GetTabArea(
CRect& rectTabAreaTop,
CRect& rectTabAreaBottom) const;
參數
rectTabAreaTop
[out]包含頂端索引標籤區域的螢幕座標大小和位置。
rectTabAreaBottom
[out]包含底部索引標籤區域的螢幕座標大小和位置。
備註
架構會呼叫此方法,以判斷如何停駐使用者拖曳的窗格。 當使用者將窗格拖曳至目標窗格的索引卷標區域時,架構會嘗試將其新增為目標窗格的新索引卷標。 否則,它會嘗試將窗格停駐到目標窗格的一側,這牽涉到使用分隔兩個窗格的窗格分隔器來建立新的窗格容器。
覆寫衍生類別中的 CTabbedPane
這個方法,以變更此行為。
CTabbedPane::GetTabWnd
CMFCTabCtrl* GetTabWnd() const;
傳回值
備註
CTabbedPane::HasAutoHideMode
virtual BOOL HasAutoHideMode() const;
傳回值
備註
CTabbedPane::IsTabLocationBottom
決定索引標籤是否位於視窗底部。
virtual BOOL IsTabLocationBottom() const;
傳回值
如果索引標籤區域位於索引標籤視窗底部,則為TRUE;否則為 FALSE。
備註
CTabbedPane::m_bTabsAlwaysTop
應用程式中的索引標籤的預設位置。
AFX_IMPORT_DATA static BOOL m_bTabsAlwaysTop;
備註
將此靜態成員設定為TRUE,強制應用程式中所有索引卷標顯示在索引卷標式窗格頂端。
您必須在建立索引卷標式窗格之前設定此值。
預設值為 FALSE。
CTabbedPane::m_pTabWndRTC
自訂 CMFCTabCtrl
衍生物件的執行階段類別資訊。
AFX_IMPORT_DATA static CRuntimeClass* m_pTabWndRTC;
備註
如果您使用索引卷標式窗格內的自定義索引卷標式視窗,請將這個靜態成員變數設定為衍生物件的運行時間類別資訊的 CMFCTabCtrl
指標。
CTabbedPane::ResetTabs
將所有的索引標籤式窗格重設為預設狀態。
static void ResetTabs();
備註
呼叫此方法,將所有索引卷標式窗格還原為其默認狀態。 呼叫時,這個方法會重設所有索引卷標窗格的框線大小和自動色彩狀態。
CTabbedPane::SetTabAutoColors
設定啟用自動色彩功能時所使用的自訂色彩清單。
static void SetTabAutoColors(const CArray<COLORREF, COLORREF>& arColors);
參數
arColors
[in]包含要設定的色彩陣列。
備註
使用此方法可自定義啟用自動色彩功能時所使用的色彩清單。 這是靜態函式,會影響應用程式中的所有索引卷標式窗格。
使用 CTabbedPane::EnableTabAutoColor 來啟用或停用自動色彩功能。
另請參閱
階層架構圖表
類別
CDockablePane 類別
CBaseTabbedPane 類別
CMFCOutlookBar 類別