CMFCTabCtrl

CMFCTabCtrl 类提供选项卡控件的功能。 选项卡控件在其顶部或底部显示具有平面或三维选项卡的可停靠窗口。 选项卡可以显示文本和图像,并可在处于活动状态时更改颜色。

语法

class CMFCTabCtrl : public CMFCBaseTabCtrl

成员

公共构造函数

名称 描述
CMFCTabCtrl::CMFCTabCtrl 默认构造函数。
CMFCTabCtrl::~CMFCTabCtrl 析构函数。

公共方法

名称 描述
CMFCTabCtrl::ActivateMDITab 显示当前选项卡控件的指定选项卡,并将焦点设置在该选项卡上。
CMFCTabCtrl::AllowDestroyEmptyTabbedPane
CMFCTabCtrl::AutoSizeWindow 指定当选项卡控件的用户界面元素发生更改时,框架是否要调整所有选项卡控件窗口的工作区的大小。
CMFCTabCtrl::CalcRectEdit 缩小指定选项卡区域的大小。 (替代 CMFCBaseTabCtrl::CalcRectEdit)。
CMFCTabCtrl::Create 创建选项卡控件并将其附加到 CMFCTabCtrl 对象。
CMFCTabCtrl::CreateObject 由框架用于创建此类类型的动态实例。
CMFCTabCtrl::EnableActiveTabCloseButton 显示或隐藏活动选项卡上的“关闭”按钮 (X)
CMFCTabCtrl::EnableInPlaceEdit 启用或禁用可编辑的选项卡标签。 (替代 CMFCBaseTabCtrl::EnableInPlaceEdit。)
CMFCTabCtrl::EnableTabDocumentsMenu 将两个用于滚动窗口选项卡的按钮替换为一个用于打开选项卡式窗口菜单的按钮。
CMFCTabCtrl::EnsureVisible 确保选项卡可见。
CMFCTabCtrl::GetDocumentIcon 检索与选项卡式窗口的弹出菜单中的选项卡关联的符号。
CMFCTabCtrl::GetFirstVisibleTabNum 检索当前选项卡控件中可见的第一个选项卡的索引。
CMFCTabCtrl::GetResizeMode 检索指定如何调整当前选项卡控件大小的值。
CMFCTabCtrl::GetScrollBar 检索指向与选项卡控件关联的滚动条对象的指针。
CMFCTabCtrl::GetTabArea 检索选项卡控件顶部或底部的选项卡标签区域的边框。 (替代 CMFCBaseTabCtrl::GetTabArea。)
CMFCTabCtrl::GetTabFromPoint 检索包含指定点的选项卡。 (替代 CMFCBaseTabCtrl::GetTabFromPoint。)
CMFCTabCtrl::GetTabMaxWidth 检索选项卡的最大宽度。
CMFCTabCtrl::GetTabsHeight 检索当前选项卡控件的选项卡区域的高度。
CMFCTabCtrl::GetTabsRect 检索用于界定当前选项卡控件的选项卡区域的矩形。 (替代 CMFCBaseTabCtrl::GetTabsRect。)
CMFCTabCtrl::GetThisClass 由框架用于获取指向与此类类型关联的 CRuntimeClass 对象的指针。
CMFCTabCtrl::GetWndArea 检索当前选项卡控件的工作区边界。
CMFCTabCtrl::HideActiveWindowHorzScrollBar 隐藏活动窗口的水平滚动条(如果有)。
CMFCTabCtrl::HideInactiveWindow 指定框架是否显示非活动选项卡控件窗口。
CMFCTabCtrl::HideNoTabs 如果没有可见选项卡,则启用或禁用绘制选项卡区域。
CMFCTabCtrl::HideSingleTab 如果有单个选项卡式窗口,则启用或禁用绘制选项卡。 (替代 CMFCBaseTabCtrl::HideSingleTab。)
CMFCTabCtrl::IsActiveInMDITabGroup 指示选项卡控件的当前选项卡在一个多文档界面选项卡组中是否为活动选项卡。
CMFCTabCtrl::IsActiveTabBoldFont 指示活动选项卡的文本是否以粗体字体显示。
CMFCTabCtrl::IsActiveTabCloseButton 指示“关闭”按钮 (X) 是显示在活动选项卡上还是选项卡区域的右上角
CMFCTabCtrl::IsDrawFrame 指示选项卡式窗口是否在嵌入窗格周围绘制框架矩形。
CMFCTabCtrl::IsFlatFrame 指示选项卡区域周围的框架是平面的还是 3D 的。
CMFCTabCtrl::IsFlatTab 指示当前选项卡控件中选项卡的外观是否是平面的。
CMFCTabCtrl::IsLeftRightRounded 指示当前选项卡控件中的选项卡左侧和右侧的外观是否为圆角。
CMFCTabCtrl::IsMDITabGroup 指示当前选项卡控件是否包含在多文档界面窗口的工作区中。
CMFCTabCtrl::IsOneNoteStyle 指示当前选项卡控件是否以 Microsoft OneNote 的样式显示。
CMFCTabCtrl::IsPtInTabArea 确定点是否位于选项卡区域内。 (替代 CMFCBaseTabCtrl::IsPtInTabArea。)
CMFCTabCtrl::IsSharedScroll 指示当前选项卡控件是否具有可将其选项卡作为一个整体进行滚动的滚动条。
CMFCTabCtrl::IsTabDocumentsMenu 指示选项卡控件是显示滚动按钮还是用于显示选项卡式窗口菜单的按钮。
CMFCTabCtrl::IsVS2005Style 指示选项卡是否以 Visual Studio .NET 2005 的样式显示。
CMFCTabCtrl::ModifyTabStyle 指定当前选项卡控件中的选项卡外观。
CMFCTabCtrl::MoveTab 将选项卡移动到另一个选项卡位置。 (替代 CMFCBaseTabCtrl::MoveTab。)
CMFCTabCtrl::OnDragEnter 首次将光标拖入选项卡控件窗口时由框架调用。
CMFCTabCtrl::OnDragOver 当在放置目标窗口上移动鼠标时,在拖动操作期间由框架调用。 (替代 CMFCBaseTabCtrl::OnDragOver。)
CMFCTabCtrl::OnShowTabDocumentsMenu 显示选项卡式窗口的弹出菜单,等待用户选择选项卡,并将所选选项卡设为活动选项卡。
CMFCTabCtrl::PreTranslateMessage 在窗口消息调度到 TranslateMessageDispatchMessage Windows 函数之前对其进行转换。 (替代 CMFCBaseTabCtrl::PreTranslateMessage。)
CMFCTabCtrl::RecalcLayout 重新计算选项卡控件的内部布局。 (替代 CMFCBaseTabCtrl::RecalcLayout。)
CMFCTabCtrl::SetActiveInMDITabGroup 将选项卡控件的当前选项卡设置为一个多文档界面选项卡组中的活动选项卡。
CMFCTabCtrl::SetActiveTab 激活选项卡。(重写 CMFCBaseTabCtrl::SetActiveTab。)
CMFCTabCtrl::SetActiveTabBoldFont 启用或禁用在活动选项卡上使用粗体字体。
CMFCTabCtrl::SetDrawFrame 启用或禁用围绕嵌入条绘制框架矩形。
CMFCTabCtrl::SetFlatFrame 指定围绕选项卡区域绘制平面框架还是 3D 框架。
CMFCTabCtrl::SetImageList 指定图像列表。 (替代 CMFCBaseTabCtrl::SetImageList。)
CMFCTabCtrl::SetResizeMode 指定如何调整当前选项卡控件的大小以及重新显示控件。
CMFCTabCtrl::SetTabMaxWidth 指定选项卡式窗口中的最大选项卡宽度。
CMFCTabCtrl::StopResize 终止选项卡控件上的当前重设大小操作。
CMFCTabCtrl::SwapTabs 交换一对选项卡。 (替代 CMFCBaseTabCtrl::SwapTabs。)
CMFCTabCtrl::SynchronizeScrollBar 在显示平面选项卡的选项卡控件上绘制水平滚动条。

数据成员

名称 描述
CMFCTabCtrl::m_bEnableActivate 防止在插入或启用新选项卡时活动视图失去焦点。

注解

CMFCTabCtrl 类支持:

  • 选项卡控件样式,其中包括 3D、平面和带有共享水平滚动条的平面。

  • 位于窗口顶部或底部的选项卡。

  • 显示文本和/或图像的选项卡。

  • 当选项卡处于活动状态时更改颜色的选项卡。

  • 可调整选项卡的边框大小更改。

  • 可分离的选项卡式窗口。

CMFCTabCtrl 类可以与对话框结合使用,但旨在用于使用停靠控件条的应用程序(如 Microsoft Excel 和 Visual Studio)。 有关详细信息,请参阅 CDockablePane

按照以下步骤在应用程序中添加可调整大小的停靠选项卡控件:

  1. 创建 CTabbedPane的实例。

  2. 调用 CDockablePane::Create

  3. 使用 CBaseTabbedPane::AddTabCMFCBaseTabCtrl::InsertTab 添加新选项卡。

  4. 调用 CBasePane::EnableDocking,以便当前停靠选项卡控件可以在主框架窗口中停靠。

  5. 调用 CFrameWndEx::DockPane 以停靠主框架上的选项卡式窗口。

有关如何创建选项卡式窗口作为停靠控件条的示例,请参阅 CTabbedPane。 若要将 CMFCTabCtrl 用作非停靠控件,请创建一个 CMFCTabCtrl 对象,然后调用 CMFCTabCtrl::Create

继承层次结构

CObject

CCmdTarget

CWnd

CMFCBaseTabCtrl

CMFCTabCtrl

示例

下面的示例演示如何使用 CMFCTabCtrl 类中的各种方法来配置 CMFCTabCtrl 对象。 此示例说明如何添加选项卡、在活动选项卡上显示“关闭”按钮、启用可编辑的选项卡标签,以及显示选项卡式窗口标签的弹出菜单。 此示例是状态集合示例的一部分。

CMFCTabCtrl m_wndTabs;
// Attach list windows to tab:
// CListCtrl m_wndList1
// CListCtrl m_wndList2
// CListCtrl m_wndList3
m_wndTabs.AddTab(&m_wndList1, _T("Output 1"), (UINT)-1);
m_wndTabs.AddTab(&m_wndList2, _T("Output 2"), (UINT)-1);
m_wndTabs.AddTab(&m_wndList3, _T("Output 3"), (UINT)-1);

m_wndTabs.EnableActiveTabCloseButton();
m_wndTabs.EnableInPlaceEdit(true);
m_wndTabs.EnableTabDocumentsMenu();
m_wndTabs.SetActiveTab(1);
m_wndTabs.SetDrawFrame();
m_wndTabs.SetFlatFrame();

要求

标头afxtabctrl.h

CMFCTabCtrl::ActivateMDITab

显示当前选项卡控件的指定选项卡,并将焦点设置在该选项卡上。

void ActivateMDITab(int nTab = -1);

参数

nTab
[in] 要显示的选项卡的从零开始的索引,或为 -1,用于指定当前的活动选项卡。

CMFCTabCtrl::AllowDestroyEmptyTabbedPane

有关更多详细信息,请参阅 Visual Studio 安装的 mfc 文件夹中的源代码。 例如 %ProgramFiles(x86)%\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\atlmfc\src\mfc

virtual BOOL AllowDestroyEmptyTabbedPane() const;

返回值

总是为 TRUE

注解

CMFCTabCtrl::AutoSizeWindow

指定当选项卡控件的用户界面元素发生更改时,框架是否要调整所有选项卡控件窗口的工作区的大小。

void AutoSizeWindow(BOOL bAutoSize = TRUE);

参数

bAutoSize
[in] 如果值为 TRUE,则自动调整选项卡控件窗口的大小;否则为 FALSE。 默认值为 TRUE

备注

CMFCTabCtrl::Create

创建选项卡控件并将其附加到 CMFCTabCtrl 对象。

BOOL Create(
    Style style,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID,
    Location location=LOCATION_BOTTOM,
    BOOL bCloseBtn=FALSE);

参数

style
[in] 选项卡控件的样式。 有关详细信息,请参阅“备注”。

rect
[in] 用于界定选项卡控件的矩形。

pParentWnd
[in] 指向父窗口的指针。 不得为 NULL

nID
[in] 选项卡控件的 ID。

location
[in] 选项卡的位置。 默认值是 LOCATION_BOTTOM。 有关更多信息,请参见备注

bCloseBtn
[in] 如果值为 TRUE,则在选项卡上显示关闭按钮;否则为 FALSE。 默认值是 FALSE

返回值

如果成功,则为 TRUE;否则为 FALSE

备注

下表介绍了可为 style 参数指定的值。

Style 说明
STYLE_3D 创建具有三维外观的选项卡控件。
STYLE_FLAT 创建具有平面选项卡的选项卡控件。
STYLE_FLAT_SHARED_HORZ_SCROLL 创建具有多个平面选项卡和一个滚动条的选项卡控件,滚动条用于在选项卡由父窗口剪切时滚动这些选项卡。
STYLE_3D_ONENOTE 创建采用 Microsoft OneNote 的样式的选项卡控件。
STYLE_3D_VS2005 创建采用 Microsoft Visual Studio 2005 的样式的选项卡控件。
STYLE_3D_ROUNDED 创建采用 Microsoft Visual Studio 2005 的样式、带有圆角选项卡的选项卡控件。
STYLE_3D_ROUNDED_SCROLL 创建采用 Microsoft Visual Studio 2005 的样式、带有圆角选项卡和滚动按钮的选项卡控件。

下表列出了可为 location 参数指定的值。

位置 说明
LOCATION_BOTTOM 选项卡位于选项卡控件底部。
LOCATION_TOP 选项卡位于选项卡控件顶部。

示例

以下示例演示了如何在 CMFCTabCtrl 类中使用 Create 方法。 此示例是状态集合示例的一部分。

CMFCTabCtrl m_wndTabs;
// Create tabs window:
// CRect rectDummy
// this is a pointer to a parent window
// fourth parameter is the id of the tab control
if (!m_wndTabs.Create (CMFCTabCtrl::STYLE_FLAT, rectDummy, this, 1))
{
    TRACE0("Failed to create output tab window\n");
    return -1;      // fail to create
}

CMFCTabCtrl::CalcRectEdit

缩小指定选项卡区域的大小。

virtual void CalcRectEdit(CRect& rectEdit);

参数

rectEdit
[in] 指定选项卡的区域的矩形。

备注

更改选项卡的标签时会调用此方法。此方法将指定矩形的左右两侧缩小当前选项卡高度的一半,并将顶部和底部缩小一个单位。

CMFCTabCtrl::EnableActiveTabCloseButton

显示或隐藏活动选项卡上的“关闭”按钮 (X)

void EnableActiveTabCloseButton(BOOL bEnable=TRUE);

参数

bEnable
[in] 如果值为 TRUE,则在活动选项卡上显示“关闭”按钮;如果值为 FALSE,则在选项卡区域右上角显示“关闭”按钮。 默认值为 TRUE

CMFCTabCtrl::EnableInPlaceEdit

启用或禁用可编辑的选项卡标签。

virtual void EnableInPlaceEdit(BOOL bEnable);

参数

bEnable
[in] 如果值为 TRUE,则启用可编辑的选项卡标签;如果值为 FALSE,则禁用可编辑的选项卡标签。

备注

CMFCTabCtrl::EnableTabDocumentsMenu

在使用两个按钮滚动窗口选项卡的用户界面与显示选项卡式窗口的弹出菜单的界面之间切换。

void EnableTabDocumentsMenu(BOOL bEnable=TRUE);

参数

bEnable
[in] 如果值为 TRUE,则显示选项卡式窗口标签的弹出菜单;如果值为 FALSE,则显示向前和向后滚动按钮。 默认值为 TRUE

备注

当用户单击选项卡标签时,框架会显示相应的选项卡式窗口。 如果选项卡标签可见,则会打开选项卡式窗口,而不更改其位置。 如果用户从弹出菜单中选择了一个文档,而相应的选项卡式窗口不在屏幕上,则该选项卡式窗口将成为第一个选项卡。

CMFCTabCtrl::EnsureVisible

确保选项卡可见。

virtual BOOL EnsureVisible(int iTab);

参数

iTab
[in] 选项卡的从零开始的索引。

返回值

如果成功,则返回 TRUE;如果 iTab 参数索引无效,则返回FALSE

备注

使用此方法可以确保指定的选项卡可见。 如果需要,选项卡控件将滚动。

CMFCTabCtrl::GetDocumentIcon

检索与选项卡式窗口的弹出菜单中的选项卡关联的图像。

static HICON __stdcall GetDocumentIcon(UINT nCmdID);

参数

nCmdID
[in] 选项卡式窗口的弹出菜单中选项卡的命令 ID。

返回值

位图图像的句柄。

CMFCTabCtrl::GetFirstVisibleTabNum

检索当前选项卡控件中可见的第一个选项卡的索引。

virtual int GetFirstVisibleTabNum() const;

返回值

选项卡控件中的选项卡的从零开始的索引。

注解

仅当选项卡控件以 Microsoft OneNote 的样式显示时,才使用此方法。 使用 CMFCTabCtrl::IsOneNoteStyle 方法确定样式。

CMFCTabCtrl::GetResizeMode

检索指定如何调整当前选项卡控件大小的值。

ResizeMode GetResizeMode() const;

返回值

CMFCTabCtrl::ResizeMode 枚举值之一,用于指定如何调整选项卡控件的大小。 有关可能值的列表,请参阅 CMFCTabCtrl::SetResizeMode 方法的“备注”部分。

CMFCTabCtrl::GetScrollBar

检索指向与选项卡控件关联的滚动条对象的指针。

CScrollBar* GetScrollBar();

返回值

指向滚动条对象的指针,或者如果选项卡控件不是使用 STYLE_FLAT_SHARED_HORZ_SCROLL 样式创建的,则返回 NULL

注解

使用此方法可访问选项卡控件的嵌入滚动条。 仅当选项卡控件具有 STYLE_FLAT_SHARED_HORZ_SCROLL 样式时,才会创建滚动条对象。

CMFCTabCtrl::GetTabArea

检索选项卡控件顶部或底部的选项卡标签区域的边框。

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

参数

rectTabAreaTop
[out] 此方法返回时,此引用包含用于界定顶部选项卡标签区域的矩形。 该矩形位于客户端坐标中。 如果选项卡控件顶部不存在选项卡标签区域,则此引用为空。

rectTabAreaBottom
[out] 此方法返回时,此引用包含用于界定底部选项卡标签区域的矩形。 该矩形位于客户端坐标中。 如果选项卡控件底部不存在选项卡标签区域,则此引用为空。

备注

使用此方法可确定选项卡区域在选项卡式窗口中的大小和位置。

CMFCTabCtrl::GetTabMaxWidth

检索选项卡的最大宽度。

int GetTabMaxWidth() const;

返回值

选项卡的最大宽度(以像素为单位)。 如果返回值为 0,则选项卡宽度不受限制。

备注

使用 CMFCTabCtrl::SetTabMaxWidth 方法设置最大选项卡宽度。

CMFCTabCtrl::GetTabsHeight

检索当前选项卡控件的选项卡区域的高度。

virtual int GetTabsHeight() const;

返回值

如果任何选项卡可见,则返回选项卡区域的高度;如果选项卡均不可见,则返回零。

CMFCTabCtrl::GetTabsRect

检索用于界定当前选项卡控件的选项卡区域的矩形。

virtual void GetTabsRect(CRect& rect) const;

参数

rect
[out] 此方法返回时,rect 参数包含用于界定选项卡区域的矩形。

CMFCTabCtrl::GetWndArea

检索当前选项卡控件的工作区边界。

void GetWndArea(CRect& rect) const;

参数

rect
[out] 此方法返回时,此参数包含用于界定当前选项卡控件的矩形。

备注

CMFCTabCtrl::HideActiveWindowHorzScrollBar

隐藏活动窗口中的水平滚动条(如果有)。

void HideActiveWindowHorzScrollBar();

备注

使用此方法可防止当用户在选项卡控件页之间切换时选项卡控件闪烁。

CMFCTabCtrl::HideInactiveWindow

指定框架是否显示非活动选项卡控件窗口。

void HideInactiveWindow(BOOL bHide = TRUE);

参数

bHide
[in] 如果值为 TRUE,则不显示非活动窗口;如果值为 FALSE,则显示非活动窗口。 默认值为 TRUE

备注

CMFCTabCtrl::HideNoTabs

如果没有可见选项卡,则启用或禁用绘制选项卡区域。

void HideNoTabs(BOOL bHide=TRUE);

参数

bHide
[in] 如果值为 TRUE,则启用绘制选项卡区域;如果值为 FALSE,则禁用绘制。 默认值是 TRUE

备注

CMFCTabCtrl::HideSingleTab

如果有单个选项卡式窗口,则启用或禁用选项卡绘制。

virtual void HideSingleTab(BOOL bHide=TRUE);

参数

bHide
[in] 如果值为 TRUE,则不为单个选项卡时窗口绘制选项卡;如果值为 FALSE,则绘制单个选项卡。默认值为 TRUE

备注

CMFCTabCtrl::IsActiveInMDITabGroup

指示选项卡控件的当前选项卡在一个多文档界面选项卡组中是否为活动选项卡。

BOOL IsActiveInMDITabGroup() const;

返回值

如果选项卡控件的当前选项卡是 MDI 选项卡组中的活动选项卡,则返回 TRUE;否则返回 FALSE

备注

可以将多个文档窗口组织为垂直或水平选项卡组,并可以轻松地随机变换文档在不同选项卡组中的位置。

CMFCTabCtrl::IsActiveTabBoldFont

指示活动选项卡的文本是否以粗体字体显示。

BOOL IsActiveTabBoldFont() const;

返回值

如果使用粗体字体显示活动选项卡,则返回 TRUE;否则返回 FALSE

注解

使用 CMFCTabCtrl::SetActiveTabBoldFont 方法更改活动选项卡字体。

CMFCTabCtrl::IsActiveTabCloseButton

指示“关闭”按钮 (X) 是显示在活动选项卡上还是选项卡区域的右上角

virtual BOOL IsActiveTabCloseButton() const;

返回值

如果“关闭”按钮显示在活动选项卡上,则返回 TRUE;如果“关闭”按钮显示在选项卡区域右上角,则返回 FALSE

备注

CMFCTabCtrl::IsDrawFrame

指示选项卡式窗口是否在嵌入窗格周围绘制框架矩形。

BOOL IsDrawFrame() const;

返回值

如果绘制了框架矩形,则返回 TRUE;否则返回 FALSE

备注

使用 CMFCTabCtrl::SetDrawFrame 方法启用或禁用绘制框架矩形。

CMFCTabCtrl::IsFlatFrame

指示选项卡区域周围的框架是平面的还是 3D 的。

BOOL IsFlatFrame() const;

返回值

如果界定选项卡区域的框架是平面的,则返回 TRUE;如果框架是三维的,则返回 FALSE

备注

使用 CMFCTabCtrl::SetFlatFrame 方法更改绘制框架的方式。

CMFCTabCtrl::IsFlatTab

指示当前选项卡控件中选项卡的外观是否是平面的。

virtual BOOL IsFlatTab() const;

返回值

如果当前选项卡控件中选项卡的外观是平面的,则返回 TRUE;否则返回 FALSE

CMFCTabCtrl::IsLeftRightRounded

指示当前选项卡控件中的选项卡左侧和右侧的外观是否为圆角。

virtual BOOL IsLeftRightRounded() const;

返回值

如果每个选项卡的两侧为圆角,则返回 TRUE;否则返回 FALSE

CMFCTabCtrl::IsMDITabGroup

指示当前选项卡控件是否包含在多文档界面窗口的工作区中。

virtual BOOL IsMDITabGroup() const;

返回值

如果当前选项卡控件位于 MDI 工作区窗口中,则返回 TRUE;否则返回 FALSE

CMFCTabCtrl::IsOneNoteStyle

指示当前选项卡控件是否以 Microsoft OneNote 的样式显示。

virtual BOOL IsOneNoteStyle() const;

返回值

如果选项卡控件以 Microsoft OneNote 的样式显示,则返回 TRUE;否则返回 FALSE

CMFCTabCtrl::IsSharedScroll

指示当前选项卡控件是否具有可将其选项卡作为一个整体进行滚动的滚动条。

BOOL IsSharedScroll() const;

返回值

如果选项卡控件具有共享滚动条,则返回 TRUE;否则返回 FALSE

备注

如果 CMFCTabCtrl::Create 方法的 style 参数为 TRUE,则此方法返回 STYLE_FLAT_SHARED_HORZ_SCROLL

CMFCTabCtrl::IsTabDocumentsMenu

指示选项卡控件是显示滚动按钮还是用于显示选项卡式窗口菜单的按钮。

BOOL IsTabDocumentsMenu() const;

返回值

如果使用选项卡式窗口标签的弹出菜单滚动选项卡式窗口,则返回 TRUE;如果使用向前和向后滚动按钮滚动选项卡式窗口,则返回 FALSE

备注

使用 CMFCTabCtrl::EnableTabDocumentsMenu 方法指定滚动选项卡式窗口的方法。

CMFCTabCtrl::IsVS2005Style

指示是否使用 Visual Studio 2005 的样式绘制选项卡。

virtual BOOL IsVS2005Style() const;

返回值

如果使用 Visual Studio 2005 的样式绘制选项卡,则返回 TRUE;否则返回 FALSE

备注

使用 CMFCTabCtrl::Create 方法的 style 参数指定选项卡的绘制方式。

CMFCTabCtrl::m_bEnableActivate

防止在插入或启用新选项卡时活动视图失去焦点。

static BOOL m_bEnableActivate;

备注

插入并激活选项卡时,通常由新的选项卡式窗口获取焦点。 将 CMFCTabCtrl::m_bEnableActivate 成员变量设置为 FALSE,以保留原始焦点。 默认值为 TRUE

CMFCTabCtrl::ModifyTabStyle

指定当前选项卡控件中的选项卡外观。

BOOL ModifyTabStyle(Style style);

参数

style
[in] 用于指定选项卡控件外观的枚举值之一。 有关详细信息,请参阅备注中的表。

返回值

总是为 TRUE

备注

style 参数的值可以是下列 CMFCTabCtrl::Style 枚举之一。

名称 描述
STYLE_3D 显示具有圆角的三维矩形选项卡。
STYLE_3D_ONENOTE 显示一侧垂直、一侧倾斜且具有圆角的三维选项卡。
STYLE_3D_ROUNDED 显示具有多个倾斜面和圆角的三维选项卡。
STYLE_3D_ROUNDED_SCROLL 显示具有多个倾斜面和圆角的三维选项卡。 如果具有的选项卡数量多于可以同时显示的数量,则框架会显示一个下拉箭头和一个选项卡菜单以使选项卡处于活动状态。
STYLE_3D_SCROLLED 显示三维矩形选项卡。 如果具有的选项卡数量多于可以同时显示的数量,则框架会显示一个下拉箭头和一个选项卡菜单以使选项卡处于活动状态。
STYLE_3D_VS2005 显示一侧倾斜、一侧垂直的三维圆角选项卡。
STYLE_FLAT 显示左右两侧倾斜的二维选项卡。
STYLE_FLAT_SHARED_HORZ_SCROLL 显示二维选项卡。 如果具有的选项卡数量多于可以同时显示的数量,则框架会在选项卡区域底部显示滚动箭头。

CMFCTabCtrl::OnDragEnter

当光标首次进入当前选项卡控件的窗口时,在拖放操作期间由框架调用。

virtual DROPEFFECT OnDragEnter(
    COleDataObject* pDataObject,
    DWORD dwKeyState,
    CPoint point);

参数

pDataObject
[in] 指向包含用户拖动的数据的数据对象。

dwKeyState
[in] 包含修饰键的状态。 此参数是以下值的按位组合“or”(|):MK_CONTROLMK_SHIFTMK_ALTMK_LBUTTONMK_MBUTTONMK_RBUTTON。 有关详细信息,请参阅关于鼠标输入消息参数部分。

point
[in] 包含光标的当前位置,以客户端坐标表示。

返回值

始终返回 DROPEFFECT_NONE,这意味着放置目标不能接受数据。

注解

使用此方法支持拖放操作。 重写此方法以实现你自己的自定义行为。

默认情况下,此方法仅调用 CMFCTabCtrl::OnDragOver,这始终返回 DROPEFFECT_NONE

CMFCTabCtrl::OnDragOver

当在放置目标窗口上移动鼠标时,在拖动操作期间由框架调用。

virtual DROPEFFECT OnDragOver(
    COleDataObject* pDataObject,
    DWORD dwKeyState,
    CPoint point);

参数

pDataObject
[in] 指向正在拖动到放置目标上的 COleDataObject 对象的指针。

dwKeyState
[in] 修改键的状态,这是 MK_CONTROLMK_SHIFTMK_ALTMK_LBUTTONMK_MBUTTONMK_RBUTTON 的按位组合“or”(|)。 有关详细信息,请参阅关于鼠标输入中的“消息参数”。

point
[in] 当前鼠标位置。

返回值

总是为 DROPEFFECT_NONE

备注

通过自定义实现重写此方法。 有关更多信息,请参见 CView::OnDragOver 方法。

CMFCTabCtrl::OnShowTabDocumentsMenu

显示选项卡式窗口的弹出菜单,等待用户选择选项卡,并将所选选项卡设为活动选项卡。

virtual void OnShowTabDocumentsMenu(CPoint point);

参数

point
[in] 显示弹出菜单的位置坐标。

备注

CMFCTabCtrl::SetActiveInMDITabGroup

将选项卡控件的当前选项卡设置为一个多文档界面选项卡组中的活动选项卡。

void SetActiveInMDITabGroup(BOOL bActive);

参数

bActive
[in] 如果值为 TRUE,则将当前选项卡设为活动选项卡;如果值为 FALSE,则使当前选项卡处于非活动状态。

备注

可以将多个文档窗口组织为垂直或水平选项卡组,并可以轻松地随机变换文档在不同选项卡组中的位置。

CMFCTabCtrl::SetActiveTab

激活选项卡。

virtual BOOL SetActiveTab(int iTab);

参数

iTab
[in] 指定要激活的选项卡的从零开始的索引。

返回值

如果指定的选项卡处于活动状态,则返回 TRUE;如果指定的 iTab 参数值无效,则返回 FALSE

注解

这会将 AFX_WM_CHANGE_ACTIVE_TAB 通知发送到父窗口和选项卡控件的父框架。

SetActiveTab 方法会自动调用 CMFCTabCtrl::HideActiveWindowHorzScrollBar 方法,以防止屏幕闪烁。

CMFCTabCtrl::SetActiveTabBoldFont

启用或禁用在活动选项卡上使用粗体字体。

void SetActiveTabBoldFont(BOOL bIsBold=TRUE);

参数

bIsBold
[in] 如果值为 TRUE,则使用粗体字体显示活动选项卡的标签;如果值为 FALSE,则使用标准字体显示标签。 默认值为 TRUE

备注

CMFCTabCtrl::SetDrawFrame

指定是否围绕嵌入条绘制框架矩形。

void SetDrawFrame(BOOL bDraw=TRUE);

参数

bDraw
[in] 如果值为 TRUE,则显示嵌入条周围的框架矩形;否则为 FALSE。 默认值为 TRUE

注解

CMFCTabCtrl::SetFlatFrame

指定围绕选项卡区域绘制平面框架还是 3D 框架。

void SetFlatFrame(
    BOOL bFlat=TRUE,
    BOOL bRepaint=TRUE);

参数

bFlat
[in] 如果值为 TRUE,则围绕选项卡区域绘制平面 (2D) 框架;如果值为 FALSE,则绘制三维 (3D) 框架。 默认值为 TRUE

bRepaint
[in] 如果值为 TRUE,则立即重绘窗口;否则为 FALSE。 默认值是 TRUE

备注

CMFCTabCtrl::SetImageList

指定图像列表。

virtual BOOL SetImageList(
    UINT uiID,
    int cx=15,
    COLORREF clrTransp=RGB(255, 0, 255));

virtual BOOL SetImageList(HIMAGELIST hImageList);

参数

uiID
[in] 包含图像列表的位图资源的 ID。

cx
[in] 每个图像的宽度(以像素为单位)。 默认值为 15。

clrTransp
[in] 透明图像颜色。 此颜色的图像部分将是透明的。 默认值为洋红色,RGB(255,0,255)。

hImageList
[in] 预加载图像列表的句柄。

返回值

如果此方法成功,则返回 TRUE。 如果使用平面样式创建选项卡控件,或第一个方法重载无法加载由 uiID 参数指定的位图,则返回 FALSE

备注

使用此方法可设置选项卡控件的图像列表。 图像列表中的图像显示在选项卡标签旁边。 此方法会重新计算选项卡高度,以便调整选项卡的大小,使其包含图像和文本。

使用选项卡控件继承的 CMFCBaseTabCtrl::AddTab 方法来指定要显示的图像的索引。

CMFCTabCtrl::SetResizeMode

指定如何调整当前选项卡控件的大小以及重新显示控件。

void SetResizeMode(ResizeMode resizeMode);

参数

resizeMode
[in] CMFCTabCtrl::ResizeMode 枚举值之一,用于指定如何调整选项卡控件的大小。 有关可能值的列表,请参阅备注中的表。

注解

resizeMode 参数可以是以下 ResizeMode 枚举值之一

名称 描述
RESIZE_NO 无法调整选项卡控件的大小。
RESIZE_VERT 可以在垂直方向调整选项卡控件的大小,但不能在水平方向调整。
RESIZE_HORIZ 可以在水平方向调整选项卡控件的大小,但不能在垂直方向调整。

CMFCTabCtrl::SetTabMaxWidth

指定选项卡式窗口中的最大选项卡宽度。

void SetTabMaxWidth(int nTabMaxWidth);

参数

nTabMaxWidth
[in] 最大选项卡宽度(以像素为单位)。

备注

使用此方法可限制选项卡式窗口中每个选项卡的宽度。 如果选项卡具有很长的标签,则此方法非常有用。 CMFCTabCtrl 类构造函数将最大选项卡宽度初始化为 0,这实际上意味着宽度不受限制。

CMFCTabCtrl::StopResize

终止选项卡控件上的当前重设大小操作。

void StopResize(BOOL bCancel);

参数

bCancel
[in] 如果值为 TRUE,则放弃当前重设大小操作;如果值为 FALSE,则完成当前重设大小操作。 无论在哪种情况下,框架都会停止绘制调整大小的矩形。

CMFCTabCtrl::SynchronizeScrollBar

在显示平面选项卡的选项卡控件上绘制水平滚动条。

BOOL SynchronizeScrollBar(SCROLLINFO* pScrollInfo = NULL);

参数

pScrollInfo
[out] 指向 SCROLLINFO 结构的指针或 NULL。 此方法返回时,如果此参数不是 NULL,则结构包含滚动条的所有参数。 默认值为 NULL

返回值

如果此方法成功,则为 TRUE;否则为 FALSE

备注

此方法仅影响显示平面选项卡的选项卡控件。 滚动条同时影响所有选项卡。

另请参阅

层次结构图

CDockablePane
CMFCBaseTabCtrl