MFC之Tab Control 选项卡控件、实例、最快入门、使用方法

环境:win7 64bit;vs2013 win32
语言:c++


1.新建一个对话框工程。命名为:TabControlTest,选择“基于对话框”,点击完成。
2. 在对话框上添加Tab控件,然后,在控件上右键添加变量,变量名为m_tab。
3. 在对话框的初始化函数OnInitDialog里面添加如下代码:
m_tab.InsertItem(0, _T("类视图"));
m_tab.InsertItem(1, _T("属性管理器"));
4. 然后,在对话框资源里面再增加两个对话框,作为选项卡的子对话框,需要对这两个对话框的属性进行设置:Border选为None,Style选为Child。并将其ID改为:IDD_FIRSTTAB和IDD_SECONDTAB。
5.添加基于CDialogEx类CFirstTab,  CSecondTab;在firsttab对话框上右键,选择添加类。命名为CFirstTab;同理创建CSecondTab;
6. 再在TabControlTest1Dlg.h中添加变量
#include "FirstTab.h"

#include "SecondTab.h"

public:
CFirstTab  m_FirstTab;

CSecondTab  m_SecondTab;

7.再在初始化函数OnInitDialog里面添加如下代码:

///////////start///////////////////////////////

m_FirstTab.Create(IDD_FIRSTTAB, &m_tab);

m_SecondTab.Create(IDD_SECONDTAB, &m_tab);

//获取m_tab控件的大小。
CRect rec;

m_tab.GetClientRect(&rec);

//将m_tab控件的大小适当改小。逻辑坐标默认向下为正,向右为正

rec.top+=25;  //去掉选项卡标签页那一块空间

rec.bottom-=4;
rec.left+=4;  
rec.right-=4;
//改变选项卡窗口的位置和大小
m_FirstTab.MoveWindow(&rec);
m_SecondTab.MoveWindow(&rec);

m_FirstTab.ShowWindow(TRUE);
m_SecondTab.ShowWindow(FALSE);

m_tab.SetCurSel(0); //默认显示第一个选项卡

//////////////end/////////////////////////////////

7. 双击主对话框上选项卡控件,在自动创建的OnSelchangeTabtest(NMHDR* pNMHDR, LRESULT* pResult) 函数体下添加代码如下:

///////////////start//////////////////

int CurSel;
CurSel = m_tab.GetCurSel(); //获取点击操作的第几张表
switch(CurSel)
{
case 0: //点击第一张表
m_FirstTab.ShowWindow(TRUE);
m_SecondTab.ShowWindow(FALSE);
break;
case 1://点击第二章表
m_FirstTab.ShowWindow(FALSE);
m_SecondTab.ShowWindow(TRUE);
break;
default: ;
}

///////////////////end//////////////////////

扩展:
①而后在相应的FirstTab、SecondTab对话框下添加相应工具即可实现预期的选项卡功能了。

②涉及到选项卡自身的初始化、参数的同步可通过一个公共类进行控制。

原资料链接:http://blog.csdn.net/tlby1990/article/details/50199583

猜你喜欢

转载自blog.csdn.net/i_likechard/article/details/79228120
今日推荐