CBaseTabbedPane 類別
擴充 CDockablePane Class 的功能,以支援建立索引標籤式視窗。
語法
class CBaseTabbedPane : public CDockablePane
成員
公用建構函式
名稱 | 描述 |
---|---|
CBaseTabbedPane::CBaseTabbedPane |
預設建構函式。 |
公用方法
備註
這個類別是抽象類,無法具現化。 它會實作各種索引卷標式窗格通用的服務。
連結庫目前包含兩個衍生索引卷標式窗格類別: CTabbedPane 類別 和 CMFCOutlookBar 類別。
CBaseTabbedPane
物件會包裝 CMFCBaseTabCtrl 類別物件的指標。 CMFCBaseTabCtrl 類別 接著會變成索引卷標窗格的子視窗。
如需如何建立索引卷標式窗格的詳細資訊,請參閱 CDockablePane 類別、CTabbedPane 類別和 CMFCOutlookBar 類別。
繼承階層架構
CBaseTabbedPane
需求
標頭: afxBaseTabbedPane.h
CBaseTabbedPane::AddTab
將新的索引標籤新增至索引卷標式窗格。
virtual BOOL AddTab(
CWnd* pNewBar,
BOOL bVisible = TRUE,
BOOL bSetActive = TRUE,
BOOL bDetachable = TRUE);
參數
pNewBar
[in, out]要加入之窗格的指標。 呼叫這個方法之後,這個指標可能會變成無效。 如需詳細資訊,請參閱備註一節。
bVisible
[in]TRUE 可讓索引標籤顯示;否則為 FALSE。
bSetActive
[in]TRUE 表示讓索引標籤成為使用中的索引標籤;否則為 FALSE。
bDetachable
[in]TRUE 可讓索引標籤可卸離;否則為 FALSE。
傳回值
TRUE 是表示 如果已成功將窗格新增為索引卷標,且未在進程中終結。 如果要加入的窗格是 類型的 CBaseTabbedPane
物件,則為 FALSE。 如需詳細資訊,請參閱備註一節。
備註
呼叫此方法,將窗格新增為索引卷標窗格上的新索引標籤。 如果 pNewBar 指向 類型的 CBaseTabbedPane
物件,則其所有索引卷標都會複製到索引卷標式窗格,然後 pNewBar 會終結。 因此, pNewBar 會變成無效的指標,因此不應該使用。
CBaseTabbedPane::AllowDestroyEmptyTabbedPane
指定是否可以終結空白索引卷標式窗格。
virtual BOOL AllowDestroyEmptyTabbedPane() const;
傳回值
如果可以終結空白索引卷標式窗格,則為TRUE;否則為 FALSE。 默認實作一律會傳回 TRUE。
備註
如果不允許終結空白索引卷標式窗格,架構會改為隱藏窗格。
CBaseTabbedPane::ApplyRestoredTabInfo
從登錄載入索引標籤設定,並將其套用至索引卷標式窗格。
virtual void ApplyRestoredTabInfo(BOOL bUseTabIndexes = FALSE);
參數
bUseTabIndexes
[in]架構會在內部使用此參數。
備註
當架構從登錄重載停駐狀態資訊時,會呼叫此方法。 方法會取得索引卷標式窗格的定位順序和索引卷標名稱的相關信息。
CBaseTabbedPane::CanFloat
指定索引標籤式窗格是否可以浮動。
virtual BOOL CanFloat() const;
傳回值
如果窗格可以浮動,則為TRUE;否則為 FALSE。
CBaseTabbedPane::CanSetCaptionTextToTabName
判斷索引卷標窗格的標題是否應該顯示與使用中索引卷標相同的文字。
virtual BOOL CanSetCaptionTextToTabName() const;
傳回值
如果索引卷標式窗格的標題文字設定為使用中索引卷標的文字,則為TRUE;否則為 FALSE。
備註
方法可用來判斷在索引卷標窗格標題上顯示的文字是否重複使用中索引標籤的標籤。您可以呼叫 CBaseTabbedPane::EnableSetCaptionTextToTabName 來啟用或停用此功能。
CBaseTabbedPane::ConvertToTabbedDocument
將一或多個可停駐窗格轉換為 MDI 索引卷標式檔。
virtual void ConvertToTabbedDocument(BOOL bActiveTabOnly = TRUE);
參數
bActiveTabOnly
[in]當您轉換索引卷標式窗格時,請指定 TRUE 以僅轉換使用中的索引標籤。指定 FALSE 以轉換窗格中的所有索引標籤。
CBaseTabbedPane::D etachPane
從索引卷標式窗格中斷連結窗格。
virtual BOOL DetachPane(
CWnd* pBar,
BOOL bHide = FALSE);
參數
pBar
[in]要中斷連結之窗格的指標。
bHide
[in]布爾參數,指定架構在卸離窗格之後是否隱藏窗格。
傳回值
如果架構成功中斷連結窗格,則為TRUE;如果 pBar 是 NULL,或參考不在索引卷標式窗格中的窗格,則為 FALSE。
備註
架構會盡可能浮動中斷連結的窗格。 如需詳細資訊,請參閱 CBasePane::CanFloat。
CBaseTabbedPane::EnableSetCaptionTextToTabName
啟用或停用索引卷標窗格將標題文字與使用中索引卷標上的標籤文字同步處理的能力。
virtual void EnableSetCaptionTextToTabName(BOOL bEnable);
參數
bEnable
[in]TRUE 可同步處理索引卷標式窗格標題與使用中索引標籤題;否則為 FALSE。
CBaseTabbedPane::FillDefaultTabsOrderArray
將內部定位順序還原為默認狀態。
void FillDefaultTabsOrderArray();
備註
當架構將 Outlook 列還原至初始狀態時,會呼叫這個方法。
CBaseTabbedPane::FindPaneByID
傳回窗格標識碼所識別的窗格。
virtual CWnd* FindPaneByID(UINT uBarID);
參數
uBarID
[in]指定要尋找之窗格的識別碼。
傳回值
找到窗格的指標;否則為 NULL。
備註
此方法會比較窗格中的所有索引標籤,並傳回具有uBarID參數所指定標識碼的索引標籤。
CBaseTabbedPane::FindBarByTabNumber
傳回位於索引標籤中的窗格。
virtual CWnd* FindBarByTabNumber(
int nTabNum,
BOOL bGetWrappedBar = FALSE);
參數
nTabNum
[in]指定要擷取之索引標籤的以零起始的索引。
bGetWrappedBar
[in]TRUE 可傳回窗格的基礎 (包裝) 視窗,而不是窗格本身;否則為 FALSE。 這隻適用於衍生自 CDockablePaneAdapter 的窗格。
傳回值
如果找到窗格,則會傳回要搜尋之窗格的有效指標;否則為 NULL。
備註
呼叫此方法,以擷取位於 nTabNum 參數所指定索引卷標的窗格。
CBaseTabbedPane::FloatTab
讓窗格浮動,但僅限於窗格目前位於可卸離的索引標籤時。
virtual BOOL FloatTab(
CWnd* pBar,
int nTabID,
AFX_DOCK_METHOD dockMethod,
BOOL bHide = FALSE);
參數
pBar
[in, out]要浮動之窗格的指標。
nTabID
[in]指定要浮動之索引標籤的以零起始的索引。
dockMethod
[in]指定要用來讓窗格浮點數的方法。 如需詳細資訊,請參閱備註一節。
bHide
[in]TRUE 表示在浮動之前隱藏窗格;否則為 FALSE。
傳回值
如果窗格浮動,則為TRUE;否則為 FALSE。
備註
呼叫這個方法,以浮動目前位於可卸離索引卷標的窗格。
如果您想要以程式設計方式卸離窗格,請為 dockMethod 參數指定DM_SHOW。 如果您想要將窗格浮動在先前浮動的位置上,請將DM_DBL_CLICK指定為 dockMethod 參數。
CBaseTabbedPane::GetDefaultTabsOrder
傳回窗格中索引標籤的預設順序。
const CArray<int,int>& GetDefaultTabsOrder();
傳回值
CArray
物件,指定窗格中索引標籤的預設順序。
備註
當 Outlook 列重設為初始狀態時,架構會呼叫此方法。
CBaseTabbedPane::GetFirstVisibleTab
擷取第一個顯示索引標籤的指標。
virtual CWnd* GetFirstVisibleTab(int& iTabNum);
參數
iTabNum
[in]整數的參考。 這個方法會將第一個顯示索引卷標的以零起始的索引寫入此參數,如果找不到任何顯示的索引卷標,則為 -1。
傳回值
如果成功,則為第一個顯示索引標籤的指標;否則為 NULL。
CBaseTabbedPane::GetMinSize
擷取窗格的最小允許大小。
virtual void GetMinSize(CSize& size) const;
參數
size
[out] CSize
物件,填入允許的大小下限。
備註
如果最小窗格大小的處理一致(CPane::m_bHandleMinSize),大小會填入使用中索引卷標的最小允許大小。否則,大小會填入 CPane::GetMinSize 的傳回值。
CBaseTabbedPane::GetPaneIcon
擷取窗格的最小允許大小。
virtual void GetMinSize(CSize& size) const;
參數
size
[out] CSize
物件,填入允許的大小下限。
備註
如果最小窗格大小的處理一致(CPane::m_bHandleMinSize),大小會填入使用中索引卷標的最小允許大小。否則,大小會填入 CPane::GetMinSize 的傳回值。
CBaseTabbedPane::GetPaneList
傳回索引卷標式窗格中所包含的窗格清單。
virtual void GetPaneList(
CObList& lst,
CRuntimeClass* pRTCFilter = NULL);
參數
lst
[out] CObList
,填入索引卷標式窗格中所包含的窗格。
pRTCFilter
[in]如果不是 NULL,則傳回的清單只包含指定運行時間類別的窗格。
CBaseTabbedPane::GetTabArea
傳回頂端和底部索引標籤區域的周框。
virtual void GetTabArea(
CRect& rectTabAreaTop,
CRect& rectTabAreaBottom) const = 0;
參數
rectTabAreaTop
[out]接收上方索引標籤區域的螢幕座標。
rectTabAreaBottom
[out]接收下方索引標籤區域的螢幕座標。
備註
呼叫這個方法,以在螢幕座標中判斷上下索引標籤區域的周框。
CBaseTabbedPane::GetTabsNum
傳回索引標籤視窗中的索引標籤計數。
virtual int GetTabsNum() const;
傳回值
索引卷標窗格中的索引標籤。
CBaseTabbedPane::GetUnderlyingWindow
取得基礎 [已包裝] 索引標籤視窗。
virtual CMFCBaseTabCtrl* GetUnderlyingWindow();
傳回值
基礎索引標籤視窗的指標。
CBaseTabbedPane::GetVisibleTabsNum
傳回可見索引標籤的計數。
virtual int GetVisibleTabsNum() const;
傳回值
可見索引標籤的數目,其大於或等於零。
備註
呼叫這個方法,以判斷索引卷標窗格中可見的索引卷標數目。
CBaseTabbedPane::HasAutoHideMode
決定索引標籤式窗格是否可切換為自動隱藏模式。
virtual BOOL HasAutoHideMode() const;
傳回值
如果窗格可以切換為自動隱藏模式,則為TRUE;否則為 FALSE。
備註
如果停用自動隱藏模式,索引卷標式窗格標題上不會顯示任何釘選按鈕。
CBaseTabbedPane::IsHideSingleTab
判斷如果只顯示一個索引卷標,索引卷標窗格是否隱藏。
virtual BOOL IsHideSingleTab() const;
傳回值
如果索引標籤視窗在只有一個可見索引標籤時未顯示,則為TRUE;否則為 FALSE。
備註
如果未顯示窗格,因為只有一個索引標籤已開啟,您可以呼叫此方法來判斷索引卷標窗格是否正常運作。
CBaseTabbedPane::RemovePane
從索引卷標窗格移除窗格。
virtual BOOL RemovePane(CWnd* pBar);
參數
pBar
[in, out]要從索引卷標窗格移除之窗格的指標。
傳回值
TRUE 是表示 如果已成功從索引卷標窗格移除窗格,而且索引卷標窗格仍然有效。 如果最後一個窗格已從索引卷標式窗格移除,且索引卷標式窗格即將終結,則為 FALSE。 如果傳回值為 FALSE,請勿再使用索引卷標式窗格。
備註
呼叫這個方法,從索引卷標式窗格中移除 pBar 參數指定的窗格。
CBaseTabbedPane::SetAutoDestroy
判斷索引標籤式控制項列是否會自動終結。
void SetAutoDestroy(BOOL bAutoDestroy = TRUE);
參數
bAutoDestroy
[in]TRUE 是表示 如果索引卷標式窗格是以動態方式建立,而且您並未控制其存留期;否則為 FALSE。
備註
如果您動態建立索引卷標式窗格,且未控制其存留期,請將自動終結模式設定為 TRUE。 如果自動終結模式為TRUE,則架構會自動終結索引卷標式窗格。
CBaseTabbedPane::ShowTab
顯示或隱藏索引標籤。
virtual BOOL ShowTab(
CWnd* pBar,
BOOL bShow,
BOOL bDelay,
BOOL bActivate);
參數
pBar
[in]要顯示或隱藏之窗格的指標。
bShow
[in]TRUE 表示顯示窗格;FALSE 可隱藏窗格。
bDelay
[in]TRUE 表示延遲調整索引標籤面配置;否則為 FALSE。
bActivate
[in]TRUE 表示讓索引標籤成為使用中的索引標籤;否則為 FALSE。
傳回值
如果索引標籤已顯示或隱藏成功,則為TRUE;否則為 FALSE。
備註
當您呼叫此方法時,會根據 bShow 參數的值顯示或隱藏窗格。 如果您隱藏索引標籤,而且它是基礎索引標籤視窗中的最後一個可見索引標籤,則會隱藏索引卷標窗格。 如果您在先前看不到索引標籤時顯示索引標籤,則會顯示索引標籤窗格。
CBaseTabbedPane::RecalcLayout
重新計算窗格的配置資訊。
virtual void RecalcLayout();
備註
如果窗格是浮動的,這個方法會通知架構將窗格大小調整為迷你框架的目前大小。
如果窗格停駐,這個方法就不會執行任何動作。
CBaseTabbedPane::SetAutoHideMode
設定索引標籤式窗格中可卸離窗格的自動隱藏模式。
virtual CMFCAutoHideToolBar* SetAutoHideMode(
BOOL bMode,
DWORD dwAlignment,
CMFCAutoHideToolBar* pCurrAutoHideBar = NULL,
BOOL bUseTimer = TRUE);
參數
bMode
[in]TRUE 可啟用自動隱藏模式;FALSE 可啟用一般停駐模式。
dwAlignment
[in]指定要建立之自動隱藏窗格的對齊方式。 如需可能值的清單,請參閱 CPane::MoveByAlignment。
pCurrAutoHideBar
[in, out]目前自動隱藏工具列的指標。 可以是 NULL。
bUseTimer
[in]指定當使用者將窗格切換為自動隱藏模式時,是否要使用自動隱藏效果,或立即隱藏窗格。
傳回值
切換至自動隱藏模式時所建立之自動隱藏工具列的指標,如果沒有建立任何工具列,則為 NULL。
備註
當使用者選擇釘選按鈕,將索引卷標式窗格切換為自動隱藏模式或一般停駐模式時,架構會呼叫此方法。
在索引卷標式窗格中,會為每個可卸離窗格設定自動隱藏模式。 會忽略不可卸離的窗格。 如需詳細資訊,請參閱 CMFCBaseTabCtrl::EnableTabDetach。
呼叫這個方法,以程式設計方式將索引卷標式窗格切換為自動隱藏模式。 窗格必須停駐到主框架視窗(CDockablePane::GetDefaultPaneDivider 必須傳回 CPaneDivider 的有效指標。