CMFCOutlookBarTabCtrl 类

在 Microsoft Outlook 中具有 “导航窗格” 可视外观的选项卡控件。 有关详细信息,请参阅所安装的 Visual Studio 的 C\atlmfc\src\mfc 文件夹中的源代码。

语法

class CMFCOutlookBarTabCtrl : public CMFCBaseTabCtrl

成员

公共构造函数

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

公共方法

名称 描述
CMFCOutlookBarTabCtrl::AddControl 将 Windows 控件作为新选项卡添加到 Outlook 栏中。
CMFCOutlookBarTabCtrl::CalcRectEdit 当用户重命名选项卡时由框架调用以确定显示的编辑框的尺寸。(替代 CMFCBaseTabCtrl::CalcRectEdit。)
CMFCOutlookBarTabCtrl::CanShowFewerPageButtons 在调整大小操作期间由框架调用,以确定显示的 Outlook 栏选项卡页按钮数是否可以少于当前可见的按钮数。
CMFCOutlookBarTabCtrl::CanShowMorePageButtons 在调整大小操作期间由框架调用,以确定显示的 Outlook 栏选项卡页按钮数是否可以多于当前可见的按钮数。
CMFCOutlookBarTabCtrl::Create 创建 Outlook 栏选项卡控件。
CMFCOutlookBarTabCtrl::CreateObject 由框架用于创建此类类型的动态实例。
CMFCOutlookBarTabCtrl::EnableAnimation 指定是否启用在活动选项卡之间切换期间发生的动画。
CMFCOutlookBarTabCtrl::EnableInPlaceEdit 指定用户是否可以修改 Outlook 栏的选项卡按钮上的文本标签。 (替代 CMFCBaseTabCtrl::EnableInPlaceEdit。)
CMFCOutlookBarTabCtrl::EnableScrollButtons 由框架调用以启用允许用户滚动浏览 Outlook 栏窗格上的按钮的按钮。
CMFCOutlookBarTabCtrl::FindTargetWnd 标识包含指定点的窗格。 (替代 CMFCBaseTabCtrl::FindTargetWnd。)
CMFCOutlookBarTabCtrl::GetBorderSize 返回 Outlook 选项卡控件的边框大小。
CMFCOutlookBarTabCtrl::GetTabArea 检索选项卡控件的选项卡区域的大小和位置。 (替代 CMFCBaseTabCtrl::GetTabArea。)
CMFCOutlookBarTabCtrl::GetThisClass 由框架用于获取指向与此类类型关联的 CRuntimeClass 对象的指针。
CMFCOutlookBarTabCtrl::GetVisiblePageButtons
CMFCOutlookBarTabCtrl::IsAnimation 确定是否启用在活动选项卡之间切换期间发生的动画。
CMFCOutlookBarTabCtrl::IsMode2003 确定 Outlook 栏选项卡控件是否处于模拟 Microsoft Outlook 2003 的模式。
CMFCOutlookBarTabCtrl::IsPtInTabArea 确定点是否位于选项卡区域内。 (替代 CMFCBaseTabCtrl::IsPtInTabArea。)
CMFCOutlookBarTabCtrl::IsTabDetachable 确定选项卡是否可拆离。 (替代 CMFCBaseTabCtrl::IsTabDetachable。)
CMFCOutlookBarTabCtrl::OnChangeTabs 插入或删除选项卡时由框架调用。 (替代 CMFCBaseTabCtrl::OnChangeTabs。)
CMFCOutlookBarTabCtrl::OnShowFewerPageButtons 由框架调用以减少可见的选项卡页按钮数。
CMFCOutlookBarTabCtrl::OnShowMorePageButtons 由框架调用以增加可见的选项卡页按钮数。
CMFCOutlookBarTabCtrl::OnShowOptions 显示“导航窗格选项”对话框
CMFCOutlookBarTabCtrl::RecalcLayout 重新计算选项卡控件的内部布局。 (替代 CMFCBaseTabCtrl::RecalcLayout。)
CMFCOutlookBarTabCtrl::SetActiveTab 设置活动选项卡。(替代 CMFCBaseTabCtrl::SetActiveTab。)
CMFCOutlookBarTabCtrl::SetBorderSize 设置 Outlook 选项卡控件的边框大小。
CMFCOutlookBarTabCtrl::SetPageButtonTextAlign 设置 Outlook 栏的选项卡按钮上文本标签的对齐方式。
CMFCOutlookBarTabCtrl::SetToolbarImageList 设置包含在 Outlook 2003 模式下显示在 Outlook 栏底部的图标的位图(请参阅 CMFCOutlookBar 类)。
CMFCOutlookBarTabCtrl::SetVisiblePageButtons

备注

若要创建具有停靠支持的 Outlook 栏,请使用 CMFCOutlookBar 对象来托管 Outlook 栏选项卡控件。 有关详细信息,请参阅 CMFCOutlookBar 类

示例

下面的示例演示如何初始化 CMFCOutlookBarTabCtrl 对象以及在 CMFCOutlookBarTabCtrl 类中使用各种方法。 该示例演示如何在 Outlook 栏的选项卡页按钮上启用文本标签的就地编辑、如何启用动画,如何启用使用户能够滚动浏览 Outlook 栏窗格上的按钮的滚动手柄、如何设置 Outlook 选项卡控件的边框大小,以及如何设置 Outlook 栏的选项卡按钮上文本标签的对齐方式。 此代码片段是 Outlook 演示示例的一部分。

// CMFCOutlookBar& bar
CMFCOutlookBarTabCtrl *pOutlookBar = (CMFCOutlookBarTabCtrl*)bar.GetUnderlyingWindow();
pOutlookBar->EnableInPlaceEdit(TRUE);
pOutlookBar->EnableAnimation();
pOutlookBar->EnableScrollButtons();
pOutlookBar->SetBorderSize(10);
pOutlookBar->SetPageButtonTextAlign(TA_LEFT);

继承层次结构

CObject

CCmdTarget

CWnd

CMFCBaseTabCtrl

CMFCOutlookBarTabCtrl

要求

标头:afxoutlookbartabctrl.h

CMFCOutlookBarTabCtrl::AddControl

将 Windows 控件作为新选项卡添加到 Outlook 栏中。

void AddControl(
    CWnd* pWndCtrl,
    LPCTSTR lpszName,
    int nImageID=-1,
    BOOL bDetachable=TRUE,
    DWORD dwControlBarStyle=AFX_CBRS_FLOAT |  AFX_CBRS_CLOSE | AFX_CBRS_RESIZE |  CBRS_AFX_AUTOHIDE);

参数

pWndCtrl
[in] 指向要添加的控件的指针。

lpszName
[in] 指定选项卡的名称。

bDetachable
[in] 如果为 TRUE,页面将创建为可拆离的。

nImageID
[in] 要在新选项卡中显示的图像的内部图像列表中的图像索引。

dwControlBarStyle
[in] 指定已包装的停靠窗格的 AFX_ CBRS_* 样式。

备注

使用此函数将控件添加为 Outlook 栏的新页。

此函数在内部对 CMFCBaseTabCtrl::AddTab 调用。

如果将 bDetachable 设置为 TRUE,AddControl 会在内部创建一个 CDockablePaneAdapter 对象并包装添加的控件。 它会自动将选项卡式窗口的运行时类设置为 CMFCOutlookBar 的运行时类,并将浮动帧的运行时类设置为 CMultiPaneFrameWnd

示例

以下示例演示了如何在 CMFCOutlookBarTabCtrl 类中使用 AddControl 方法。 此代码片段是 Outlook 演示示例的一部分。

// CMFCOutlookBarTabCtrl* pOutlookBar
// DWORD dwStyle = AFX_CBRS_FLOAT | AFX_CBRS_AUTOHIDE | AFX_CBRS_RESIZE
// CMFCOutlookBarPane pane1
// The third parameter is the image index.
pOutlookBar->AddControl(&pane1, _T("General"), 0, TRUE, dwStyle);

CMFCOutlookBarTabCtrl::CanShowFewerPageButtons

在调整大小操作期间由框架调用,以确定显示的 Outlook 栏选项卡页按钮数是否可以少于当前可见的按钮数。

virtual BOOL CanShowFewerPageButtons() const;

返回值

如果不止一个按钮,则为 TRUE;否则为 FALSE。

备注

Outlook 栏选项卡控件会根据可用空间的大小动态添加或删除显示中的选项卡。 框架使用此方法来协助该过程。

CMFCOutlookBarTabCtrl::CanShowMorePageButtons

在调整大小操作期间由框架调用,以确定显示的 Outlook 栏选项卡页按钮数是否可以多于当前可见的按钮数。

virtual BOOL CanShowMorePageButtons() const;

返回值

如果存在当前不可见的按钮,则为 TRUE;否则为 FALSE。

备注

Outlook 栏选项卡控件会根据可用空间的大小动态添加或删除显示中的选项卡。 框架使用此方法来协助该过程。

CMFCOutlookBarTabCtrl::Create

创建 Outlook 栏选项卡控件。

virtual BOOL Create(
    const CRect& rect,
    CWnd* pParentWnd,
    UINT nID);

参数

rect
[in] 指定初始大小和位置(以像素为单位)。

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

nID
[in] 控件 ID。

返回值

如果控件已成功创建,则为非零值;否则为 0。

备注

通常,CMFCOutlookBar 类控制进程的 WM_CREATE 消息时,将创建 Outlook 栏选项卡控件。

CMFCOutlookBarTabCtrl::EnableAnimation

指定是否启用在活动选项卡之间切换期间发生的动画。

static void EnableAnimation(BOOL bEnable=TRUE);

参数

bEnable
[in] 指定是应启用还是禁用动画。

备注

调用此函数可启用和禁用动画。 用户打开选项卡页时,如果启用了动画,页面的标题会向上或向下滑动。 如果禁用动画,页面将立即变为活动状态。

默认情况下,动画处于启用状态。

CMFCOutlookBarTabCtrl::EnableInPlaceEdit

指定用户是否可以修改 Outlook 栏的选项卡页按钮上的文本标签。

virtual void EnableInPlaceEdit(BOOL bEnable);

参数

bEnable
如果为 TRUE,请启用文本标签的就地编辑。 如果为 FALSE,请禁用就地编辑。

备注

调用此函数以启用或禁用选项卡页按钮上的文本标签的就地编辑。 就地编辑默认处于禁用状态。

CMFCOutlookBarTabCtrl::EnableScrollButtons

由框架调用以启用使用户能够滚动浏览 Outlook 栏窗格上的按钮的滚动手柄。

void EnableScrollButtons(
    BOOL bEnable = TRUE,
    BOOL bIsUp = TRUE,
    BOOL bIsDown = TRUE);

参数

bEnable
[in] 确定是否显示滚动按钮。

bIsUp
[in] 确定是否显示顶部滚动条。

bIsDown
[in] 确定是否显示底部滚动条。

备注

启用滚动按钮的显示。 当活动选项卡更改为还原滚动按钮时,框架将调用此方法。

CMFCOutlookBarTabCtrl::GetBorderSize

返回 Outlook 选项卡控件的边框大小。

int GetBorderSize() const;

返回值

边框大小(以像素为单位)。

CMFCOutlookBarTabCtrl::GetVisiblePageButtons

int GetVisiblePageButtons() const;

返回值

注解

CMFCOutlookBarTabCtrl::IsAnimation

指定是否启用在活动选项卡之间切换期间发生的动画。

static BOOL IsAnimation();

返回值

如果启用了动画,则为非零值;否则为 0。

注解

调用 CMFCOutlookBarTabCtrl::EnableAnimation 函数以启用或禁用动画。

CMFCOutlookBarTabCtrl::IsMode2003

确定 Outlook 栏选项卡控件是否处于模拟 Microsoft Outlook 2003 的模式。

BOOL IsMode2003() const;

返回值

如果 Outlook 栏选项卡控件处于 Outlook 2003 模式,则为 TRUE,否则为FALSE;

注解

此值由 CMFCOutlookBar::SetMode2003 设置。

CMFCOutlookBarTabCtrl::OnShowFewerPageButtons

由框架调用以减少可见的选项卡页按钮数。

virtual void OnShowFewerPageButtons();

备注

在调整控件大小时,此方法将调整可见页选项卡按钮的数量。

CMFCOutlookBarTabCtrl::OnShowMorePageButtons

由框架调用以增加可见的选项卡页按钮数。

virtual void OnShowMorePageButtons();

注解

在调整控件大小时,此方法将调整可见页选项卡按钮的数量。

CMFCOutlookBarTabCtrl::OnShowOptions

显示“导航窗格选项”对话框

virtual void OnShowOptions();

备注

“导航窗格选项”对话框使用户能够选择要显示的选项卡页按钮及其显示顺序

当用户从控件的自定义菜单中选择“导航窗格选项”菜单项时,框架将调用此方法

CMFCOutlookBarTabCtrl::SetActiveTab

设置活动选项卡。活动选项卡是打开的选项卡,其内容可见。

virtual BOOL SetActiveTab(int iTab);

参数

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

返回值

如果指定的选项卡已成功打开,则为非零值;否则为 0。

注解

设置活动选项卡的视觉效果取决于是否启用了动画。 有关详细信息,请参阅 CMFCOutlookBarTabCtrl::EnableAnimation

CMFCOutlookBarTabCtrl::SetBorderSize

设置 Outlook 选项卡控件的边框大小。

void SetBorderSize(int nBorderSize);

参数

nBorderSize
[in] 指定新的边框大小(以像素为单位)。

注解

设置新的边框大小并重新计算 Outlook 窗口布局。

CMFCOutlookBarTabCtrl::SetPageButtonTextAlign

设置 Outlook 栏的选项卡按钮上文本标签的对齐方式。

void SetPageButtonTextAlign(
    UINT uiAlign,
    BOOL bRedraw=TRUE);

参数

uiAlign
[in] 指定文本对齐方式。

bRedraw
[in] 如果为 TRUE,则将重绘 Outlook 窗口。

注解

使用此函数可更改页面按钮的文本对齐方式。

uiAlign 可以是下列值之一

返回的常量 含义
TA_LEFT 左对齐
TA_CENTER 居中对齐
TA_RIGHT 右对齐

默认值为 TA_CENTER。

CMFCOutlookBarTabCtrl::SetToolbarImageList

设置包含在 Outlook 2003 模式下显示在 Outlook 栏底部的图标的位图。

BOOL SetToolbarImageList(
    UINT uiID,
    int cx,
    COLORREF clrTransp=RGB(255, 0, 255));

参数

uiID
[in] 指定要加载的图像的资源 ID。

cx
[in] 指定图像列表中图像的宽度(以像素为单位)。

clrTransp
[in] 指定透明颜色的 RGB 值。

返回值

如果成功,则返回 TRUE;否则返回 FALSE。

备注

使用此函数以附加图像列表,其图像将显示在 Microsoft Office 2003 模式下的工具栏按钮上。 图像索引应对应于页面索引。

如果不是在 Microsoft Office 2003 模式下,则不应调用此方法。 有关详细信息,请参阅 CMFCOutlookBar 类

CMFCOutlookBarTabCtrl::SetVisiblePageButtons

void SetVisiblePageButtons(int nVisiblePageButtons);

参数

[in] nVisiblePageButtons

注解

另请参阅

层次结构图

CMFCBaseTabCtrl 类
CMFCOutlookBar 类
CMFCOutlookBarPane 类