CMFCBaseTabCtrl 类
实现选项卡式窗口的基本功能。 有关详细信息,请参阅所安装的 Visual Studio 的 C\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 类的对象可置于可停靠控件条或可停靠选项卡上。要停靠整个控件,则必须使
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] 图像列表中的图像 ID。 选项卡控件使用此图像作为新选项卡的图标。
uiResTabLabel
[in] 标签的资源 ID。
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;否则为 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;否则为 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
根据选项卡 ID 检索选项卡的索引。
virtual int GetTabByID(int id) const;
参数
id
[in] 选项卡 ID。
返回值
选项卡的从零开始的索引(如果找到);如果未找到选项卡 ID,则为 -1。
备注
将选项卡添加到选项卡控件时会自动分配选项卡 ID。
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] 选项卡的从零开始的索引。
返回值
如果成功,则为指定选项卡的图标 ID;如果索引无效,则为 -1。
备注
CMFCBaseTabCtrl 对象将图标存储在内部 CImageList 对象中。
CMFCBaseTabCtrl::GetTabID
检索由选项卡索引指定的选项卡的 ID。
int GetTabID(int iTab) const;
参数
iTab
[in] 选项卡的从零开始的索引。
返回值
如果 iTab 超出范围,则为选项卡的 ID 或 -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] 图像列表中的图像 ID。 选项卡控件使用此图像作为新选项卡的图标。
bDetachable
[in] 一个布尔参数,确定新选项卡是否可拆离。
uiResTabLabel
[in] 标签的资源 ID。
注解
如果 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 类。 使用方法 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] 位图资源 ID。 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] 新图标的图标 ID。 此 ID 引用内部 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;否则为 0。
注解
参数 bActivate 仅在 bShow 为 TRUE 时适用。 如果 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