创建选项卡控件
选项卡控件的创建方式取决于将在对话框中使用此控件,还是将在非对话框窗口中创建此控件。
直接在对话框中使用 CTabCtrl
在对话框编辑器中,将选项卡控件添加到对话框模板资源。 指定其控件 ID。
使用添加成员变量向导通过 Control 属性添加 CTabCtrl 类型的成员变量。 您可以使用此成员调用
CTabCtrl
成员函数。对话框类中的映射处理函数,用于需要处理的任何选项卡控件通知消息。 有关详细信息,请参阅将消息映射到函数。
在 OnInitDialog 中,设置
CTabCtrl
的样式。
在非对话框窗口中使用 CTabCtrl
在视图或窗口类中定义控件。
调用控件的 Create 成员函数,这有可能在 OnInitialUpdate 中进行,最早还可能在父窗口的 OnCreate 处理程序函数中进行(如果你要将控件子类化)。 设置控件的样式。
创建 CTabCtrl
对象后,可以设置或清除以下扩展样式:
TCS_EX_FLATSEPARATORS 选项卡控件将在选项卡项之间绘制分隔符。 此扩展样式仅影响具有 TCS_BUTTONS 和 TCS_FLATBUTTONS 样式的选项卡控件。 默认情况下,使用 TCS_FLATBUTTONS 样式创建选项卡控件会设置此扩展样式。
TCS_EX_REGISTERDROP 选项卡控件在对象被拖动到控件中的选项卡项上时,生成 TCN_GETOBJECT 通知消息以请求放置目标对象。
注意
若要接收 TCN_GETOBJECT 通知,必须调用 AfxOleInit 来初始化 OLE 库。
可以在创建控件后检索和设置这些样式,并分别调用 GetExtendedStyle 和 SetExtendedStyle 成员函数。
例如,使用以下代码行设置 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
对象按钮之间出现的分隔符。