刚开始学习C++,想自己写点东西用到这个控件,没想到这么费劲,资料查半天终于搞定,总结如下: 主窗体创建一个TabControl并添加变量m_tab 创建两个Dialog,Style为null,Body为none,生成类Page1,Page2 在主窗体头文件中创建Page1和Page2的对象m_page1,m_page2,创建一个int sltIndex记录当前显示的选项卡,创建CDialog指针数组用来存放m_page1,m_page2 主窗体OnInitDialog方法加入:
//创建选项卡
m_tab.InsertItem(0,"Page1",0);
m_tab.InsertItem(1,"Page2",1);
//创建页面
m_page1.Create(IDD_DIALOG1,&m_tab);
m_page2.Create(IDD_DIALOG2,&m_tab);
//显示范围
CRect rc;
m_tab.GetClientRect(rc);
rc.top += 20;
rc.bottom -= 5;
rc.left += 5;
rc.right -= 5;
m_page1.MoveWindow(&rc);
m_page2.MoveWindow(&rc);
//保存对话框对象指针
pDialog[0] = &m_page1;
pDialog[1] = &m_page2;
//显示
pDialog[0]->ShowWindow(SW_SHOW);
pDialog[1]->ShowWindow(SW_HIDE);
//保存当前选项卡指针
m_sltIndex = 0;
TabControl方法OnSelchangeTab1:
void CTabTestDlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult)
{
pDialog[m_sltIndex]->ShowWindow(SW_HIDE);
m_sltIndex = m_tab.GetCurSel();
pDialog[m_sltIndex]->ShowWindow(SW_SHOW);
*pResult = 0;
}