创建选项卡控件

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

直接在对话框中使用 CTabCtrl

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

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

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

  4. OnInitDialog 中,设置CTabCtrl的样式。

在非对话窗口中使用 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样式:

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

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

另请参阅

使用 CTabCtrl
控件