创建选项卡控件

选项卡控件的创建方式取决于是在对话框中使用控件还是在非dialog 窗口中创建控件。

直接在对话框中使用 CTabCtrl

  1. 在对话框编辑器中,向对话框模板资源添加 Tab 控件。 指定其控件 ID。

  2. 使用 “添加成员变量向导 ”通过 Control 属性添加 CTabCtrl 类型的成员变量。 可以使用此成员调用 CTabCtrl 成员函数。

  3. 对话框类中需要处理的任何选项卡控件通知消息的映射处理程序函数。 有关详细信息,请参阅 将消息映射到函数

  4. OnInitDialog 中,设置 . CTabCtrl.

在非dialog 窗口中使用 CTabCtrl

  1. 在视图或窗口类中定义控件。

  2. 调用控件的 Create 成员函数(可能位于 OnInitialUpdate 中),可能早在父窗口的 OnCreate 处理程序函数(如果要对控件进行子类化)。 设置控件的样式。

CTabCtrl创建对象后,可以设置或清除以下扩展样式:

  • TCS_EX_FLATSEPARATORS 选项卡控件将在选项卡项之间绘制分隔符。 此扩展样式仅影响具有 TCS_BUTTONSTCS_FLATBUTTONS 样式的选项卡控件。 默认情况下,使用 TCS_FLATBUTTONS 样式创建选项卡控件会设置此扩展样式。

  • TCS_EX_REGISTERDROP 选项卡控件生成 TCN_GETOBJECT 通知消息,以在控件中的选项卡项上拖动对象时请求放置目标对象。

    注释

    若要接收 TCN_GETOBJECT 通知,必须使用对 AfxOleInit 的调用初始化 OLE 库。

可以在创建控件后检索和设置这些样式,并分别调用 GetExtendedStyleSetExtendedStyle 成员函数。

例如,使用以下代码行设置 TCS_EX_FLATSEPARATORS 样式:

DWORD dwExStyle = m_TabCtrl.GetExtendedStyle();
m_TabCtrl.SetExtendedStyle(dwExStyle | TCS_EX_FLATSEPARATORS);

使用以下代码行从CTabCtrl对象中清除TCS_EX_FLATSEPARATORS样式:

DWORD dwExStyle = m_TabCtrl.GetExtendedStyle();
m_TabCtrl.SetExtendedStyle(dwExStyle & ~TCS_EX_FLATSEPARATORS);

这将删除对象按钮 CTabCtrl 之间显示的分隔符。

另请参阅

使用 CTabCtrl
控件