CMFCTabCtrl
类
CMFCTabCtrl
类提供选项卡控件的功能。 选项卡控件在其顶部或底部显示具有平面或三维选项卡的可停靠窗口。 选项卡可以显示文本和图像,并可在处于活动状态时更改颜色。
语法
class CMFCTabCtrl : public CMFCBaseTabCtrl
成员
公共构造函数
名称 | 描述 |
---|---|
CMFCTabCtrl::CMFCTabCtrl |
默认构造函数。 |
CMFCTabCtrl::~CMFCTabCtrl |
析构函数。 |
公共方法
数据成员
名称 | 描述 |
---|---|
CMFCTabCtrl::m_bEnableActivate |
防止在插入或启用新选项卡时活动视图失去焦点。 |
注解
CMFCTabCtrl
类支持:
选项卡控件样式,其中包括 3D、平面和带有共享水平滚动条的平面。
位于窗口顶部或底部的选项卡。
显示文本和/或图像的选项卡。
当选项卡处于活动状态时更改颜色的选项卡。
可调整选项卡的边框大小更改。
可分离的选项卡式窗口。
CMFCTabCtrl
类可以与对话框结合使用,但旨在用于使用停靠控件条的应用程序(如 Microsoft Excel 和 Visual Studio)。 有关详细信息,请参阅 CDockablePane
类。
按照以下步骤在应用程序中添加可调整大小的停靠选项卡控件:
创建
CTabbedPane
类的实例。使用
CBaseTabbedPane::AddTab
或CMFCBaseTabCtrl::InsertTab
添加新选项卡。调用
CBasePane::EnableDocking
,以便当前停靠选项卡控件可以在主框架窗口中停靠。调用
CFrameWndEx::DockPane
以停靠主框架上的选项卡式窗口。
有关如何创建选项卡式窗口作为停靠控件条的示例,请参阅 CTabbedPane
类。 若要将 CMFCTabCtrl
用作非停靠控件,请创建一个 CMFCTabCtrl
对象,然后调用 CMFCTabCtrl::Create
。
继承层次结构
示例
下面的示例演示如何使用 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_CONTROL
、MK_SHIFT
、MK_ALT
、MK_LBUTTON
、MK_MBUTTON
和 MK_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_CONTROL
、MK_SHIFT
、MK_ALT
、MK_LBUTTON
、MK_MBUTTON
和 MK_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
。
备注
此方法仅影响显示平面选项卡的选项卡控件。 滚动条同时影响所有选项卡。