CMFCBaseTabCtrl 類別
實作索引標籤式視窗的基本功能。 如需更多詳細資料,請參閱 Visual Studio 安裝位置下之 VC\atlmfc\src\mfc 資料夾中的原始程式碼。
語法
class CMFCBaseTabCtrl : public CWnd
成員
公用方法
受保護的方法
名稱 | 描述 |
---|---|
CMFCBaseTabCtrl::CreateWrapper | 為衍生自 CWnd ,但不是衍生自 CDockablePane 的物件建立包裝函式。 若要停駐 CMFCBaseTabCtrl 物件,每個內嵌的控制項必須具有停駐的包裝函式或衍生自 CDockablePane 。您可以使用 SetDockingBayWrapperRTC 來設定包裝函式的類別。 |
資料成員
名稱 | 描述 |
---|---|
CMFCBaseTabCtrl::m_bActivateTabOnRightClick | 指定選取索引標籤的方式是按一下滑鼠左鍵或是按一下滑鼠右鍵。 |
CMFCBaseTabCtrl::m_bAutoDestroyWindow | 指定是否自動終結索引標籤中包含的窗格。 |
備註
CMFCBaseTabCtrl
類別是抽象類別。 因此,無法具現化。 若要建立索引標籤式視窗,您必須從 CMFCBaseTabCtrl
衍生類別。 MFC 程式庫包含一些衍生類別的範例,其中兩個是 CMFCTabCtrl Class 和 CMFCOutlookBarTabCtrl Class。
從 Visual Studio 2015 開始,此類別支援 Microsoft Active Accessibility。
自訂秘訣
下列秘訣屬於 CMFCBaseTabCtrl Class
以及任何繼承自它的類別:
如果您啟用可中斷連結的索引標籤,請不要保留索引標籤式視窗的指標。 您可以動態建立及終結這些可中斷連結的索引標籤。 因此,指標可能會變成無效。
您可以設定索引標籤控制項,讓使用者可以使用滑鼠,在索引標籤控制項上動態移動索引標籤。 此功能內建至
CMFCBaseTabCtrl
類別。 若要啟用它,請呼叫 CMFCBaseTabCtrl::EnableTabSwap。依預設,將索引標籤加入至索引標籤控制項時,即可中斷連結索引標籤。 您也可以使用 CMFCBaseTabCtrl::AddTab加入不可中斷連結的索引標籤。 如果您將參數
bDetachable
設為FALSE
,將無法中斷連結索引標籤。 您也可以呼叫方法 CMFCBaseTabCtrl::EnableTabDetach,變更是否可以中斷連結索引標籤。衍生自 CWnd Class 的物件可以放置在可停駐控制項列或可停駐索引標籤上。若要停駐整個控制項,您必須使
CWnd
成為可停駐的物件。 為了達成此目的,MFC 會使用包裝函式類別。 這個包裝函式類別是 CDockablePaneAdapter Class。 任何加入至可停駐控制項列或可停駐索引標籤的CWnd
物件將包裝在CDockablePaneAdapter
物件內。 您可以藉由將m_bEnableWrapping
物件的參數CMFCBaseTablCtrl
設為FALSE
,來停用自動包裝。 您也可以使用方法 CMFCBaseTabCtrl::SetDockingBarWrapperRTC,變更您的應用程式將用作包裝函式的類別。
繼承階層架構
需求
標頭: afxbasetabctrl.h
CMFCBaseTabCtrl::AddIcon
將圖示新增至受保護 CMap m_mapAddedIcons
成員中的圖示清單。
void AddIcon(
HICON hIcon,
int iIcon);
參數
hIcon
[in] 要加入圖示的控制代碼。
iIcon
[in] 受保護 CImageList m_Images
成員中圖示之以零起始的索引。
備註
CMFCBaseTabCtrl::AddTab
將新的定位點新增至定位點控制項。
virtual void AddTab(
CWnd* pTabWnd,
LPCTSTR lpszTabLabel,
UINT uiImageId = (UINT)-1,
BOOL bDetachable = TRUE);
virtual void AddTab(
CWnd* pTabWnd,
UINT uiResTabLabel,
UINT uiImageId = (UINT)-1,
BOOL bDetachable = TRUE);
參數
pTabWnd
[in] 此方法表示為新定位點視窗的指標。
lpszTabLabel
[in] 包含新定位點之標籤的字串。
uiImageId
[in] 影像清單中的影像識別碼。 定位點控制項會使用此影像作為新定位點的圖示。
uiResTabLabel
[in] 標籤的資源識別碼。
bDetachable
[in] 布林值參數,決定新定位點是否可中斷連結。
備註
如果 pTabWnd 指向不是衍生自 CDockablePane 類別 的物件,且 bDetachable 為 TRUE,則架構會自動為 pTabWnd 物件建立包裝函式。 包裝函式會讓 pTabWnd 物件中斷連結。 根據預設,包裝函式是 CDockablePaneAdapter 類別的執行個體。 如果預設包裝函式所提供的功能無法接受,請使用 CMFCBaseTabCtrl::SetDockingBarWrapperRTC 方法來指定不同的包裝函式。
CMFCBaseTabCtrl::ApplyRestoredTabInfo
virtual void ApplyRestoredTabInfo(BOOL bUseTabIndexes = FALSE);
參數
[in] bUseTabIndexes
備註
CMFCBaseTabCtrl::AutoDestroyWindow
void AutoDestroyWindow(BOOL bAutoDestroy = TRUE);
參數
[in] bAutoDestroy
備註
CMFCBaseTabCtrl::CalcRectEdit
virtual void CalcRectEdit(CRect& rectEdit);
參數
[in] rectEdit
備註
CMFCBaseTabCtrl::CleanUp
virtual void CleanUp();
備註
CMFCBaseTabCtrl::ClearImageList
virtual void ClearImageList();
備註
CMFCBaseTabCtrl::CreateWrapper
為衍生自 CWnd 類別但不是衍生自 CDockablePane 類別 的框架視窗建立包裝函式。
virtual CWnd* CreateWrapper(
CWnd* pWndToWrap,
LPCTSTR lpszTabLabel,
BOOL bDetachable);
參數
pWndToWrap
[in] 已包裝之框架視窗的指標。
lpszTabLabel
[in] 包含視窗標籤的字串。
bDetachable
[in] 布林值參數,指出視窗是否可中斷連結。
傳回值
如果 CreateWrapper
成功為 pWndToWrap 建立包裝函式類別,則為衍生自 CDockablePane
類別之包裝函式的指標。 如果方法失敗,它會傳回 pWndToWrap。
備註
定位點視窗可以固定衍生自 CWnd
的任何物件。 不過,為了讓 CMFCBaseTabCtrl Class
物件可固定,CMFCBaseTabCtrl
上的每個物件都必須可中斷連結。 因此,CMFCBaseTabCtrl
會自動包裝任何不是衍生自 CDockablePane
的物件。
根據預設,CMFCBaseTabCtrl
會建立 CDockablePaneAdapter 類別的執行個體。 若要變更包裝函式的預設類別,請呼叫 CMFCBaseTabCtrl::SetDockingBarWrapperRTC。
如果 pWndToWrap 衍生自 CDockablePane
,這個方法將不會建立包裝函式。 相反地,它會失敗並傳回 pWndToWrap。
CMFCBaseTabCtrl::DetachTab
架構會呼叫這個方法,從定位點控制項中斷連結定位點。
virtual BOOL DetachTab(
AFX_DOCK_METHOD dockMethod,
int nTabNum = -1,
BOOL bHide = FALSE);
參數
dockMethod
[in] CBasePane 類別所提供的列舉資料類型。 這個資料類型會指定用來中斷連結定位點的方法。
nTabNum
[in] 要中斷連結定位點之以零起始的索引。
bHide
[in] 布林值參數,指出架構是否應該隱藏中斷連結的定位點。
傳回值
如果成功則為非零;否則為 0。
備註
如果 nTabNum 指定的定位點不可中斷連結,此函式會失敗並傳回 FALSE。
CMFCBaseTabCtrl::EnableActivateLastActive
void EnableActivateLastActive(BOOL bLastActive = TRUE);
參數
[in] bLastActive
備註
CMFCBaseTabCtrl::EnableAutoColor
控制架構在繪製定位點時是否使用自動背景色彩。
void EnableAutoColor(BOOL bEnable = TRUE);
參數
bEnable
[in] 布林值參數,決定架構是否使用自動著色。
備註
定位點具有數個預先定義色彩的陣列。 當架構使用自動著色時,會為一系列定位點中的每個定位點指派此陣列中的下一個色彩。
根據預設,自動著色是由程式庫定義的色彩所決定。 您可以藉由呼叫 CMFCBaseTabCtrl::SetAutoColors 來提供自訂色彩陣列。
CMFCBaseTabCtrl::EnableCustomToolTips
啟用定位點控制項的自訂工具提示。
BOOL EnableCustomToolTips(BOOL bEnable = TRUE);
參數
bEnable
[in] 布林值,判斷是否要使用自訂工具提示。
傳回值
如果成功,則為 TRUE,否則為 FALSE。
備註
如果已啟用自訂工具提示,定位點控制項會將 AFX_WM_ON_GET_TAB_TOOLTIP 訊息傳送至主框架。 如果您想要在應用程式中支援自訂工具提示,主框架視窗必須處理此方法並提供自訂工具提示文字。 如需提供自訂工具提示文字的詳細資訊,請參閱 CMFCTabToolTipInfo 結構。
CMFCBaseTabCtrl::EnableInPlaceEdit
讓使用者直接編輯定位點標籤。
virtual void EnableInPlaceEdit(BOOL bEnable) = 0;
參數
bEnable
[in] 布林值參數,指定是否要啟用定位點標籤的直接編輯。
備註
根據預設,定位點標籤的直接編輯會針對定位點控制項停用。
您可以為定位點控制項上的定位點子集啟用直接編輯。 若要這樣做,請覆寫方法 CMFCBaseTabCtrl::StartRenameTab
。 StartRenameTab
應該針對支援直接編輯定位點標籤的所有定位點,傳回非零值。
在 CMFCBaseTabCtrl Class
中,此方法是純虛擬函式,且沒有實作。 如果您從 CMFCBaseTabCtrl
衍生類別,則必須實作此函式。
CMFCBaseTabCtrl::EnableTabDetach
啟用可中斷連結的索引標籤。
virtual BOOL EnableTabDetach(
int iTab,
BOOL bEnable);
參數
iTab
[in] 定位點之以零起始的索引。
bEnable
[in] 布林值,指出是否要讓定位點可中斷連結。
傳回值
如果成功,則為 TRUE,否則為 FALSE。
CMFCBaseTabCtrl::EnableTabSwap
可讓使用者使用滑鼠變更定位順序。
void EnableTabSwap(BOOL bEnable);
參數
bEnable
[in] 布林值,指出是否要啟用定位點交換。
備註
啟用定位點交換時,使用者可以拖曳定位點,並在定位點控制項中變更其相對位置。
CMFCBaseTabCtrl::EnsureVisible
將索引標籤捲動直到看見指定的索引標籤。
virtual BOOL EnsureVisible(int iTab);
參數
iTab
[in] 定位點之以零起始的索引。
傳回值
如果成功則為非零;否則為 0。
備註
如果 iTab 所指示的定位點已經可見,這個方法就沒有作用。
根據預設,CMFCBaseTabCtrl Class
不支援此方法。 如果該自訂定位點控制項支援定位點捲動,您應該在衍生自 CMFCBaseTabCtrl
的自訂類別中實作此函式。 CMFCTabCtrl 類別支援此方法。
CMFCBaseTabCtrl::EnterDragMode
void EnterDragMode();
備註
CMFCBaseTabCtrl::FindTargetWnd
識別包含指定點的窗格。
virtual CWnd* FindTargetWnd(const CPoint& pt) = 0;
參數
pt
[in] 使用 CMFCBaseTabCtrl 物件之工作區座標所定義的點。
傳回值
如果成功,則為 CWnd 物件的指標,否則為 null。
備註
在 CMFCBaseTabCtrl
類別中,此方法是純虛擬函式:如果您從 CMFCBaseTabCtrl
衍生類別,則必須實作它。
CMFCBaseTabCtrl::FireChangeActiveTab
virtual void FireChangeActiveTab(int nNewTab);
參數
[in] nNewTab
備註
CMFCBaseTabCtrl::FireChangingActiveTab
virtual BOOL FireChangingActiveTab(int nNewTab);
參數
[in] nNewTab
傳回值
備註
CMFCBaseTabCtrl::GetActiveTab
擷取目前使用中定位點的索引。
virtual int GetActiveTab() const;
傳回值
使用中定位點之以零起始的索引;如果沒有使用中定位點,則為 -1。
CMFCBaseTabCtrl::GetActiveTabColor
擷取目前使用中定位點的背景色彩。
virtual COLORREF GetActiveTabColor() const;
傳回值
COLORREF 值,指定使用中定位點的背景色彩。
備註
根據預設,使用中定位點的背景色彩為 COLOR_WINDOW。 您可以使用 CMFCBaseTabCtrl::SetActiveTabColor 方法來變更使用中定位點的背景色彩。
CMFCBaseTabCtrl::GetActiveTabTextColor
擷取使用中定位點的文字色彩。
virtual COLORREF GetActiveTabTextColor() const;
傳回值
COLORREF 值,指定使用中定位點的文字色彩。
備註
根據預設,使用中定位點的文字色彩為 COLOR_WINDOWTEXT。 您可以使用 CMFCBaseTabCtrl::SetActiveTabTextColor 方法來變更文字色彩。
CMFCBaseTabCtrl::GetActiveWnd
擷取目前使用中定位點視窗的指標。
virtual CWnd* GetActiveWnd() const;
傳回值
視窗的指標。
CMFCBaseTabCtrl::GetAutoColors
擷取用於自動著色的色彩陣列。
const CArray<COLORREF,COLORREF>& GetAutoColors() const;
傳回值
CMFCBaseTabCtrl 物件用於自動定位點色彩之 COLORREF 值的陣列參考。
備註
根據預設,架構會將色彩陣列初始化為程式庫定義的色彩。 您可以呼叫 CMFCBaseTabCtrl::SetAutoColors 方法來提供自訂色彩陣列。
CMFCBaseTabCtrl::GetFirstVisibleTab
傳回第一個可見定位點的指標。
virtual CWnd* GetFirstVisibleTab(int& iTabNum);
virtual CWnd* GetFirstVisibleTab(
int iStartFrom,
int& iTabNum);
參數
iTabNum
[out] 整數的參考。 這個方法會將第一個可見定位點之以零起始的索引寫入此參數。
iStartFrom
[in] 要檢查第一個定位點之以零起始的索引。
傳回值
如果成功,則為第一個可見定位點的指標;否則為 null。
備註
如果此方法失敗,它會將值 -1 寫入 iStartFrom。
如果 iStartFrom 大於或等於定位點控制項中的定位點數目,則 GetFirstVisibleTab
會自動失敗。
CMFCBaseTabCtrl::GetFirstVisibleTabNum
virtual int GetFirstVisibleTabNum() const;
傳回值
備註
CMFCBaseTabCtrl::GetHighlightedTab
傳回目前醒目提示之定位點的索引。
int GetHighlightedTab() const;
傳回值
醒目提示定位點之以零起始的索引。
CMFCBaseTabCtrl::GetImageList
virtual const CImageList* GetImageList() const;
傳回值
備註
CMFCBaseTabCtrl::GetImageSize
virtual CSize GetImageSize() const;
傳回值
備註
CMFCBaseTabCtrl::GetLastVisibleTab
virtual CWnd* GetLastVisibleTab(int& iTabNum);
參數
[in] iTabNum
傳回值
備註
CMFCBaseTabCtrl::GetLocation
擷取定位點控制項之定位點區域部分的位置。
Location GetLocation() const;
傳回值
定位點區域的位置。
備註
可能的定位點區域位置值為 LOCATION_BOTTOM 和 LOCATION_TOP。
CMFCBaseTabCtrl::GetMaxWindowSize
virtual CSize GetMaxWindowSize() const;
傳回值
備註
CMFCBaseTabCtrl::GetTabArea
擷取定位點控制項之定位點區域的大小和位置。
virtual void GetTabArea(
CRect& rectTabAreaTop,
CRect& rectTabAreaBottom) const = 0;
參數
rectTabAreaTop
[in] CRect
物件的參考。 GetTabArea
會使用此物件來儲存頂端定位點區域的大小和位置。
rectTabAreaBottom
[in] CRect
物件的參考。 GetTabArea
會使用此物件來儲存底部定位點區域的大小和位置。
備註
在 GetTabArea
傳回之後,CRect
參數會在定位點控制項的用戶端座標中包含定位點區域的大小和位置。 如果定位點控制項的頂端或底部沒有定位點區域,則 rectTabAreaTop
或 rectTabAreaBottom
為空白。
在 CMFCBaseTabCtrl Class
中,此方法是純虛擬函式,且沒有實作。 如果您從 CMFCBaseTabCtrl
衍生類別,則必須實作此函式。
CMFCBaseTabCtrl::GetTabBkColor
傳回指定定位點的背景色彩。
virtual COLORREF GetTabBkColor(int iTab) const;
參數
iTab
[in] 定位點之以零起始的索引。
傳回值
COLORREF 值,表示指定定位點的背景色彩;如果 iTab 超出範圍,則為 -1。
CMFCBaseTabCtrl::GetTabBorderSize
擷取定位點控制項中定位點框線的大小。
virtual int GetTabBorderSize() const;
傳回值
定位點框線的大小,以像素為單位。
備註
定位點框線的預設大小為三個像素。 您可以使用 CMFCBaseTabCtrl::SetTabBorderSize 方法來變更此框線大小。
CMFCBaseTabCtrl::GetTabByID
根據定位點識別碼擷取定位點的索引。
virtual int GetTabByID(int id) const;
參數
id
[in] 定位點識別碼。
傳回值
如果找到定位點,則為以零起始的索引;如果找不到定位點識別碼,則為 -1。
備註
當定位點新增至定位點控制項時,系統會自動指派定位點識別碼。
CMFCBaseTabCtrl::GetTabCloseButton
CRect GetTabCloseButton() const;
傳回值
備註
CMFCBaseTabCtrl::GetTabFromHwnd
擷取定位點的索引,其中包含指定的 HWND 物件。
virtual int GetTabFromHwnd(HWND hwnd) const;
參數
hwnd
[in] 視窗的控制代碼。
傳回值
如果成功,則為定位點之以零起始的索引;如果沒有任何定位點包含 hwnd,則為 -1。
CMFCBaseTabCtrl::GetTabFromPoint
擷取包含指定點的定位點。
virtual int GetTabFromPoint(CPoint& pt) const;
參數
pt
[in] 定位點控制項用戶端座標中的點。
傳回值
包含 pt 的定位點索引;如果沒有定位點包含 pt,則為 -1。
CMFCBaseTabCtrl::GetTabFullWidth
virtual int GetTabFullWidth(int iTab) const;
參數
[in] iTab
傳回值
備註
CMFCBaseTabCtrl::GetTabHicon
傳回與指定之定位點相關聯的 HICON。
virtual HICON GetTabHicon(int iTab) const;
參數
iTab
[in] 定位點之以零起始的索引。
傳回值
如果成功,則為與定位點標籤相關聯的 HICON;如果沒有 HICON,或方法失敗,則為 null。
CMFCBaseTabCtrl::GetTabIcon
擷取與指定之定位點相關聯的圖示。
virtual UINT GetTabIcon(int iTab) const;
參數
iTab
[in] 定位點之以零起始的索引。
傳回值
如果成功,則為指定定位點的圖示識別碼;如果索引無效,則為 -1。
備註
CMFCBaseTabCtrl 物件會將圖示儲存在內部 CImageList 物件中。
CMFCBaseTabCtrl::GetTabID
擷取定位點索引所指定定位點的識別碼。
int GetTabID(int iTab) const;
參數
iTab
[in] 定位點之以零起始的索引。
傳回值
如果 iTab 超出範圍,則為定位點的識別碼或 -1。
CMFCBaseTabCtrl::GetTabLabel
擷取定位點標籤的文字。
virtual BOOL GetTabLabel(
int iTab,
CString& strLabel) const;
參數
iTab
[in] 定位點之以零起始的索引。
strLabel
[out] CString
物件的參考。 這個方法會將定位點的標籤儲存在此參數中。
傳回值
如果成功,則為 TRUE;否則為 FALSE。
備註
如果索引 iTab 無效,這個方法就會失敗。
當您使用 CMFCBaseTabCtrl::AddTab 建立定位點時,您可以設定定位點的標籤。 您也可以在使用 CMFCBaseTabCtrl::SetTabLabel 方法建立之後變更標籤。
CMFCBaseTabCtrl::GetTabRect
擷取指定定位點的大小與位置。
virtual BOOL GetTabRect(
int iTab,
CRect& rect) const;
參數
iTab
[in] 定位點之以零起始的索引。
rect
[out] CRect
物件的參考。 這個方法會將定位點的大小和位置儲存在此參數中。
傳回值
如果成功,則為 TRUE;如果定位點索引無效,則為 FALSE。
CMFCBaseTabCtrl::GetTabsHeight
virtual int GetTabsHeight() const;
傳回值
備註
CMFCBaseTabCtrl::GetTabsNum
擷取定位點控制項中的定位點數目。
virtual int GetTabsNum() const;
傳回值
定位點控制項中的定位點數目。
CMFCBaseTabCtrl::GetTabsRect
virtual void GetTabsRect(CRect& rect) const;
參數
[in] rect
備註
CMFCBaseTabCtrl::GetTabTextColor
擷取指定定位點的文字色彩。
virtual COLORREF GetTabTextColor(int iTab) const;
參數
iTab
[in] 定位點之以零起始的索引。
傳回值
COLORREF 參數,指出指定定位點的文字色彩;如果 iTab 超出範圍,則為 -1。
CMFCBaseTabCtrl::GetTabWnd
傳回位於指定定位點上窗格的指標。
virtual CWnd* GetTabWnd(int iTab) const;
參數
iTab
[in] 定位點之以零起始的索引。
傳回值
位於 iTab 所指定定位點上 CWnd 物件的指標。 如果 iTab 無效,則為 null。
備註
傳回的物件是應用程式在呼叫 CMFCBaseTabCtrl::AddTab 或 CMFCBaseTabCtrl::InsertTab 時新增的物件。
如果定位點上的物件具有包裝函式,這個方法會傳回物件的包裝函式。 如需包裝函式的詳細資訊,請參閱 CMFCBaseTabCtrl::CreateWrapper。 如果您想要在沒有包裝函式的情況下存取直接物件的指標,請使用 CMFCBaseTabCtrl::GetTabWndNoWrapper 方法。
CMFCBaseTabCtrl::GetTabWndNoWrapper
傳回位於定位點上控制項的指標,即使控制項有包裝函式也一樣。
virtual CWnd* GetTabWndNoWrapper(int iTab) const;
參數
iTab
[in] 定位點之以零起始的索引。
傳回值
位於指定定位點上 CWnd 物件的指標;如果 iTab 無效,則為 null。
備註
這個方法會使用方法 CMFCBaseTabCtrl::AddTab 或 CMFCBaseTabCtrl::InsertTab,擷取您所新增 CWnd
物件的直接指標。 GetTabWndNoWrapper
會擷取已新增 CWnd
的指標,即使架構已新增物件的包裝函式也一樣。 如需包裝函式和 CMFCBaseTabCtrl 類別的詳細資訊,請參閱 CMFCBaseTabCtrl::CreateWrapper。
如果您不想忽略包裝函式類別,請使用 CMFCBaseTabCtrl::GetTabWnd 方法。
CMFCBaseTabCtrl::GetToolTipCtrl
擷取工具提示控制項的參考。
CToolTipCtrl& GetToolTipCtrl() const;
傳回值
工具提示控制項的參考。
CMFCBaseTabCtrl::GetVisibleTabsNum
擷取目前可見定位點的數目。
virtual int GetVisibleTabsNum() const;
傳回值
可見定位點的數目。
CMFCBaseTabCtrl::HasImage
virtual BOOL HasImage(int iTab) const;
參數
[in] iTab
傳回值
備註
CMFCBaseTabCtrl::HideSingleTab
設定選項,以在有一個可見定位點時隱藏定位點控制項的定位點。
virtual void HideSingleTab(BOOL bHide = TRUE);
參數
bHide
[in] 布林值,指定是否啟用隱藏單一定位點。
備註
當您的應用程式設定為隱藏單一定位點時,架構會在第二個定位點新增至定位點控制項時自動顯示定位點。
CMFCBaseTabCtrl::InsertTab
將定位點插入定位點控制項中。
Virtual void InsertTab(
CWnd* pNewWnd,
LPCTSTR lpszTabLabel,
int nInsertAt,
UINT uiImageId = (UINT)-1,
BOOL bDetachable = TRUE);
virtual void InsertTab(
CWnd* pNewWnd,
UINT uiResTabLabel,
int nInsertAt,
UINT uiImageId = (UINT)-1,
BOOL bDetachable = TRUE);
參數
pNewWnd
[in] 此方法新增為新定位點視窗的指標。
lpszTabLabel
[in] 包含新定位點之標籤的字串。
nInsertAt
[in] 新定位點之以零起始的索引。
uiImageId
[in] 影像清單中的影像識別碼。 定位點控制項會使用此影像作為新定位點的圖示。
bDetachable
[in] 布林值參數,決定新定位點是否可中斷連結。
uiResTabLabel
[in] 標籤的資源識別碼。
備註
如果 pNewWnd 所指示的物件不是衍生自 CDockablePane 類別,且 bDetachable 參數為 TRUE,則架構會為新定位點建立特殊的包裝函式。根據預設,包裝函式是 CDockablePaneAdapter 類別的執行個體。 使用 CMFCBaseTabCtrl::SetDockingBarWrapperRTC 方法來建立不同的包裝函式類別。 任何自訂包裝函式類別都必須衍生自 CDockablePaneAdapter
。
CMFCBaseTabCtrl::InvalidateTab
void InvalidateTab(int iTab);
參數
[in] iTab
備註
CMFCBaseTabCtrl::IsActiveTabCloseButton
virtual BOOL IsActiveTabCloseButton() const;
傳回值
備註
CMFCBaseTabCtrl::IsAutoColor
判斷定位點控制項是否處於自動著色模式。
BOOL IsAutoColor() const;
傳回值
如果定位點控制項處於自動著色模式,則為 TRUE;否則為 FALSE。
備註
您可以使用 CMFCBaseTabCtrl::EnableAutoColor 方法來啟用或停用自動著色模式。
CMFCBaseTabCtrl::IsAutoDestroyWindow
BOOL IsAutoDestroyWindow() const;
傳回值
備註
CMFCBaseTabCtrl::IsColored
virtual BOOL IsColored() const;
傳回值
備註
CMFCBaseTabCtrl::IsDialogControl
BOOL IsDialogControl() const;
傳回值
備註
CMFCBaseTabCtrl::IsDrawNoPrefix
BOOL IsDrawNoPrefix() const;
傳回值
備註
CMFCBaseTabCtrl::IsFlatFrame
指出定位點控制項的框架是以平面樣式或 3D 樣式呈現。
virtual BOOL IsFlatFrame() const;
傳回值
如果定位點控制項的框架是以平面樣式呈現,則為 TRUE;如果框架以 3D 樣式呈現,則為 FALSE。
備註
使用 CMFCTabCtrl::SetFlatFrame 來變更定位點控制項框架的樣式。
使用 Outlook 樣式的定位點控制項無法以平面畫面呈現。 這包括 CMFCOutlookBarTabCtrl 類別,以及衍生自該類別的任何類別。
CMFCBaseTabCtrl::IsFlatTab
virtual BOOL IsFlatTab() const;
傳回值
備註
CMFCBaseTabCtrl::IsHideSingleTab
如果只有一個定位點,則決定定位點控制項是否隱藏定位點標籤。
virtual BOOL IsHideSingleTab() const;
傳回值
如果定位點控制項在有一個定位點時隱藏定位點標籤,則為 TRUE;否則為 FALSE。
備註
使用 CMFCBaseTabCtrl::HideSingleTab 方法,在只有一個定位點時啟用隱藏定位點標籤。
CMFCBaseTabCtrl::IsIconAdded
BOOL IsIconAdded(
HICON hIcon,
int& iIcon);
參數
[in] hIcon
[in] iIcon
傳回值
備註
CMFCBaseTabCtrl::IsInPlaceEdit
指出定位點控制項是否已設定為讓使用者動態修改定位點標籤。
virtual BOOL IsInPlaceEdit() const;
傳回值
如果啟用就地編輯,則為非零;否則為 0。
備註
您可以呼叫 CMFCBaseTabCtrl::EnableInPlaceEdit 方法來啟用或停用就地編輯。
CMFCBaseTabCtrl::IsLeftRightRounded
virtual BOOL IsLeftRightRounded() const;
傳回值
備註
CMFCBaseTabCtrl::IsMDITab
BOOL IsMDITab() const;
傳回值
備註
CMFCBaseTabCtrl::IsOneNoteStyle
判斷定位點是否以 Microsoft OneNote 的樣式顯示。
virtual BOOL IsOneNoteStyle() const;
傳回值
如果定位點以 Microsoft OneNote 的樣式顯示,則為 TRUE;否則為 FALSE。
備註
呼叫 CMDIFrameWndEx::EnableMDITabs 方法來 啟用 Microsoft OneNote 樣式。 當您具現化 CMFCTabCtrl 類別時,您也可以啟用此樣式:只要將樣式 STYLE_3D_ONENOTE 傳遞至方法 CMFCTabCtrl::Create 即可。
根據預設,衍生自 CMFCBaseTabCtrl Class
的自訂類別不支援 Microsoft OneNote 樣式。 不過,CMFCTabCtrl
類別支援它。
CMFCBaseTabCtrl::IsPtInTabArea
判斷點是否在定位點區域內。
virtual BOOL IsPtInTabArea(CPoint point) const = 0;
參數
point
[in] 要測試的點。
傳回值
如果點位於定位點區域,則為非零;否則為 0。
備註
在 CMFCBaseTabCtrl Class
中,此方法是純虛擬函式,且沒有實作。 如果您從 CMFCBaseTabCtrl
衍生類別,則必須實作此函式。
CMFCBaseTabCtrl::IsTabCloseButtonHighlighted
BOOL IsTabCloseButtonHighlighted() const;
傳回值
備註
CMFCBaseTabCtrl::IsTabCloseButtonPressed
BOOL IsTabCloseButtonPressed() const;
傳回值
備註
CMFCBaseTabCtrl::IsTabDetachable
指出是否可以中斷連結定位點。
virtual BOOL IsTabDetachable(int iTab) const;
參數
iTab
[in] 要檢查定位點之以零起始的索引。
傳回值
如果定位點可中斷連結,則為 TRUE;否則為 FALSE。
備註
若要讓定位點可中斷連結,請使用 CMFCBaseTabCtrl::EnableTabDetach 方法。
CMFCBaseTabCtrl::IsTabIconOnly
判斷定位點標籤是否只包含圖示,而沒有文字。
virtual BOOL IsTabIconOnly(int iTab) const;
參數
iTab
[in] 定位點之以零起始的索引。
傳回值
如果定位點標籤只有圖示,則為 TRUE;否則為 FALSE。
備註
若要將應用程式中的定位點設定為只顯示圖示,請呼叫 CMFCBaseTabCtrl::SetTabIconOnly 方法。
CMFCBaseTabCtrl::IsTabSwapEnabled
判斷定位點控制項是否允許使用者使用滑鼠來變更定位點位置。
BOOL IsTabSwapEnabled() const;
傳回值
如果使用者可以變更定位點位置,則為非零;否則為 0。
備註
根據預設,使用者無法變更定位點控制項中的定位點。 使用 CMFCBaseTabCtrl::EnableTabSwap 方法來啟用此功能。
CMFCBaseTabCtrl::IsTabVisible
指出指定的定位點是否可見。
virtual BOOL IsTabVisible(int iTab) const;
參數
iTab
[in] 要檢查定位點之以零起始的索引。
傳回值
如果指定的定位點為可見,則為非零;否則為 0。
CMFCBaseTabCtrl::IsVS2005Style
virtual BOOL IsVS2005Style() const;
傳回值
備註
CMFCBaseTabCtrl::m_bActivateTabOnRightClick
當使用者使用滑鼠右鍵按一下定位點標籤時,m_bActivateTabOnRightClick
會決定定位點是否處於焦點。
BOOL m_bActivateTabOnRightClick;
備註
此資料成員的預設值為 FALSE。
CMFCBaseTabCtrl::m_bAutoDestroyWindow
m_bAutoDestroyWindow
會決定架構是否會在移除定位點時自動終結定位點上的物件。
BOOL m_bAutoDestroyWindow;
備註
根據預設,此成員為 FALSE。
CMFCBaseTabCtrl::MoveTab
virtual void MoveTab(
int nSource,
int nDest);
參數
[in] nSource
[in] nDest
備註
CMFCBaseTabCtrl::OnChangeTabs
架構會在定位點控制項上的定位點數目變更時呼叫此方法。
virtual void OnChangeTabs();
備註
根據預設,此方法不會執行任何動作。 覆寫此方法,以在定位點控制項上的定位點數目變更時執行自訂程式碼。
CMFCBaseTabCtrl::OnDrop
virtual BOOL OnDrop(
COleDataObject*,
DROPEFFECT,
CPoint);
參數
[in] COleDataObject*
[in] DROPEFFECT
[in] CPoint
傳回值
備註
CMFCBaseTabCtrl::OnDragOver
virtual DROPEFFECT OnDragOver(
COleDataObject*,
DWORD,
CPoint);
參數
[in] COleDataObject*
[in] DWORD
[in] CPoint
傳回值
備註
CMFCBaseTabCtrl::OnDragLeave
virtual void OnDragLeave();
備註
CMFCBaseTabCtrl::OnDragEnter
virtual DROPEFFECT OnDragEnter(
COleDataObject*,
DWORD,
CPoint);
參數
[in] COleDataObject*
[in] DWORD
[in] CPoint
傳回值
備註
CMFCBaseTabCtrl::OnRenameTab
virtual BOOL OnRenameTab(int, CString&);
參數
[in] int
[in] CString&
傳回值
備註
CMFCBaseTabCtrl::PreTranslateMessage
virtual BOOL PreTranslateMessage(MSG* pMsg);
參數
[in] pMsg
傳回值
備註
CMFCBaseTabCtrl::RecalcLayout
重新計算定位點控制項的內部配置。
virtual void RecalcLayout() = 0;
備註
在 CMFCBaseTabCtrl Class
中,此方法是純虛擬函式。 如果您從 CMFCBaseTabCtrl
衍生類別,則必須實作此函式。
CMFCBaseTabCtrl::RemoveAllTabs
從定位點控制項移除所有定位點。
virtual void RemoveAllTabs();
備註
如果 CMFCBaseTabCtrl::m_bAutoDestroyWindow 為 TRUE,架構會刪除附加至已移除定位點的所有 CWnd 物件。
CMFCBaseTabCtrl::RemoveTab
從定位點控制項移除定位點。
virtual BOOL RemoveTab(
int iTab,
BOOL bRecalcLayout = TRUE);
參數
iTab
[in] 定位點之以零起始的索引。
bRecalcLayout
[in] 布林值參數,指定是否要重新計算定位點的配置。
傳回值
如果方法成功移除定位點,則為 TRUE;否則為 FALSE。
備註
如果 CMFCBaseTabCtrl::m_bAutoDestroyWindow 為 TRUE,則 RemoveTab
會終結與指定定位點相關聯的 CWnd 物件。
CMFCBaseTabCtrl::RenameTab
virtual BOOL RenameTab();
傳回值
備註
CMFCBaseTabCtrl::ResetImageList
重設 CMFCBaseTabCtrl 類別執行個體的影像清單。
void ResetImageList();
CMFCBaseTabCtrl::Serialize
virtual void Serialize(CArchive& ar);
參數
[in] ar
備註
CMFCBaseTabCtrl::SetActiveTab
啟動指定的定位點。
virtual BOOL SetActiveTab(int iTab) = 0;
參數
iTab
[in] 定位點以零起始的索引。SetActiveTab
會讓定位點成為此使用中索引。
傳回值
如果成功,則為 TRUE,否則為 FALSE。
備註
在 CMFCBaseTabCtrl Class
中,此方法是純虛擬函式。 如果您從 CMFCBaseTabCtrl
衍生類別,則必須實作此函式。
CMFCBaseTabCtrl::SetActiveTabColor
設定使用中定位點的背景色彩。
virtual void SetActiveTabColor(COLORREF clr);
參數
/clr
[in] 指定新的背景色彩。
備註
架構會從 GetSysColor 方法取得使用中定位點的預設背景色彩。
CMFCBaseTabCtrl::SetActiveTabTextColor
設定使用中索引標籤的文字色彩。
virtual void SetActiveTabTextColor(COLORREF clr);
參數
/clr
[in] 指定新文字色彩的 COLORREF 參數。
備註
根據預設,架構會從 GetSysColor 取得文字色彩。 使用 SetActiveTabTextColor
方法覆寫此預設色彩。
CMFCBaseTabCtrl::SetAutoColors
設定架構在自動著色模式中所使用的定位點控制項色彩。
void SetAutoColors(const CArray<COLORREF,COLORREF>& arColors);
參數
arColors
[in] RGB 色彩的陣列。
備註
如果您提供自訂色彩陣列,則會忽略預設色彩陣列。 如果 arColors 參數是空的,架構會還原為預設的色彩陣列。
若要啟用自動著色模式,請使用 CMFCBaseTabCtrl::EnableAutoColor 方法。
CMFCBaseTabCtrl::SetDockingBarWrapperRTC
設定包裝函式類別,用於任何不是從 CDockablePane Class衍生的物件。
void SetDockingBarWrapperRTC(CRuntimeClass* pRTC);
參數
pRTC
[in] 新包裝函式類別的執行階段類別資訊。
備註
您可以使用 CMFCBaseTabCtrl::AddTab 和 CMFCBaseTabCtrl::InsertTab 方法,將定位點新增至定位點控制項。 當您新增定位點時,該定位點上的每個控制項都必須為可固定。 任何不是衍生自 CDockablePane
的物件都必須包裝。 AddTab
和 InsertTab
會建立這些物件的包裝函式。 預設包裝函式類別是 CDockablePaneAdapter Class。 SetDockingBarWrapperRTC
方法可讓您變更用作包裝函式類別的類別。 您提供的包裝函式類別必須衍生自 CDockablePaneAdapter
。
CMFCBaseTabCtrl::SetDrawNoPrefix
啟用和停用處理定位點標籤中的前置詞字元。
void SetDrawNoPrefix(
BOOL bNoPrefix,
BOOL bRedraw = TRUE);
參數
bNoPrefix
[in] 如果您想要處理前置字元,則為 TRUE;否則為 FALSE。
bRedraw
[in] 如果您想要重新繪製已定位視窗,則為 TRUE;否則為 FALSE。
備註
前置詞字元是助憶鍵字元,前面加上連字號 (&)。
CMFCBaseTabCtrl::SetImageList
設定定位點控制項的圖示影像清單。
virtual BOOL SetImageList(
UINT uiID,
int cx = 15,
COLORREF clrTransp = RGB(255, 0, 255));
virtual BOOL SetImageList(HIMAGELIST hImageList);
參數
uiID
[in] 點陣圖資源識別碼。 SetImageList
會從此資源載入影像清單。
cx
[in] 每個影像的寬度,以像素為單位。
clrTransp
[in] COLORREF 參數,表示影像的透明色彩。
hImageList
[in] 預先載入影像清單的控制代碼。
傳回值
如果方法成功,則為非零;否則為 0。
備註
圖示影像清單中的影像會與定位點的標籤一起顯示。若要顯示圖示,您必須在呼叫 CMFCBaseTabCtrl::AddTab 時指定其索引。
如果以平面樣式建立定位點控制項,則 SetImageList
將會失敗。 如果架構無法載入 uiID 所指示的影像,它也會失敗。
此方法會根據影像和文字大小重新計算定位點的高度。
CMFCBaseTabCtrl::SetLocation
virtual void SetLocation(Location location);
參數
[in] location
備註
CMFCBaseTabCtrl::SetTabBkColor
設定指定定位點的背景色彩。
virtual BOOL SetTabBkColor(
int iTab,
COLORREF color = (COLORREF)-1);
參數
iTab
[in] 定位點之以零起始的索引。
color
[in] 要設定的色彩。
傳回值
如果成功,則為 TRUE;否則為 FALSE。
CMFCBaseTabCtrl::SetTabBorderSize
設定定位點控制項的新框線大小。
virtual void SetTabBorderSize(
int nTabBorderSize,
BOOL bRepaint = TRUE);
參數
nTabBorderSize
[in] 新的框線大小,以像素為單位。
bRepaint
[in] 布林值參數,指出架構是否重新繪製控制項。
CMFCBaseTabCtrl::SetTabHicon
設定定位點標籤的圖示。
virtual BOOL SetTabHicon(
int iTab,
HICON hIcon);
參數
iTab
[in] 定位點之以零起始的索引。此方法會變更此定位點的圖示。
hIcon
[in] 圖示的控制代碼。
傳回值
如果成功,則為 TRUE,否則為 FALSE。
CMFCBaseTabCtrl::SetTabIcon
設定定位點的圖示。
virtual BOOL SetTabIcon(
int iTab,
UINT uiIcon);
參數
iTab
[in] 要更新定位點之以零起始的索引。
uiIcon
[in] 新圖示的圖示識別碼。 此識別碼會參考內部 CImageList 物件。
傳回值
如果成功,則為 TRUE,否則為 FALSE。
CMFCBaseTabCtrl::SetTabIconOnly
只允許在特定定位點上顯示圖示 (而沒有文字標籤)。
virtual BOOL SetTabIconOnly(
int iTab,
BOOL bIconOnly = TRUE,
BOOL bShowTooltipAlways = FALSE);
參數
iTab
[in] 要變更定位點之以零起始的索引。
bIconOnly
[in] 布林值參數,決定是否只顯示圖示。
bShowTooltipAlways
[in] 布林值參數,決定架構是否顯示只顯示圖示之定位點標籤的工具提示。
傳回值
如果成功,則為 TRUE,否則為 FALSE。
備註
根據預設,定位點控制項會顯示每個定位點的圖示和文字標籤。
CMFCBaseTabCtrl::SetTabLabel
設定定位點標籤的文字。
virtual BOOL SetTabLabel(
int iTab,
const CString& strLabel);
參數
iTab
[in] 要更新定位點之以零起始的索引。
strLabel
[in] 字串的參考,其中包含定位點標籤的新文字。
傳回值
如果成功則為非零;否則為 0。
CMFCBaseTabCtrl::SetTabsHeight
virtual void SetTabsHeight();
備註
CMFCBaseTabCtrl::SetTabsOrder
依指定的順序排列定位點。
BOOL SetTabsOrder(const CArray<int,int>& arOrder);
參數
arOrder
[in] 定義新定位順序之以零起始的索引陣列。
傳回值
如果成功,則為 TRUE;否則為FAIL。
備註
arOrder 陣列的大小必須等於定位點控制項中的定位點數目。
CMFCBaseTabCtrl::SetTabTextColor
設定指定定位點的文字色彩。
virtual BOOL SetTabTextColor(
int iTab,
COLORREF color = (COLORREF)-1);
參數
iTab
[in] 定位點之以零起始的索引。
color
[in] 指出新文字色彩的 COLORREF 參數。
傳回值
如果成功則為非零;否則為 0。
CMFCBaseTabCtrl::ShowTab
顯示或隱藏指定的索引標籤。
virtual BOOL ShowTab(
int iTab,
BOOL bShow = TRUE,
BOOL bRecalcLayout = TRUE,
BOOL bActivate = FALSE);
參數
iTab
[in] ShowTab
將顯示或隱藏之定位點的索引。
bShow
[in] 布林值參數,指出是否要顯示定位點。
bRecalcLayout
[in] 布林值參數,指出是否要立即重新計算視窗配置。
bActivate
[in] 布林值參數,指出是否要選取 iTab 所指定的定位點。
傳回值
如果成功則為非零;否則為 0。
備註
只有在 bShow 為 TRUE 時,才會套用參數 bActivate。 如果 bActivate 為 TRUE 且 ShowTab
成功,則 ShowTab
會將訊息傳送至定位點視窗父代的 AFX_WM_CHANGE_ACTIVE_TAB。
CMFCBaseTabCtrl::StartRenameTab
virtual BOOL StartRenameTab(int iTab);
參數
[in] iTab
傳回值
備註
CMFCBaseTabCtrl::SwapTabs
virtual void SwapTabs(
int nFisrtTabID,
int nSecondTabID);
參數
[in] nFisrtTabID
[in] nSecondTabID