VS_MFC:tabctrl控件应用

1、在已有工程中添加tab contr控件

2、为tab control控件添加变量m_tabctrl

[cpp]  view plain  copy
  1. <span style="font-family:'Microsoft YaHei', 'Helvetica Neue', SimSun;line-height:21px;background-color:rgb(255,255,255);">3. 在CXXXDlg类中的对话框初始化函数OnInitDialog里面添加如下代码:</span>  
[cpp]  view plain  copy
  1. <span style="font-family:Arial, Helvetica, sans-serif;">//添</span>加选项卡  
  2. m_tabctrl.InsertItem(0,_T("页面1"));//“选项卡1”可更改,是sheet页的名字;  
  3. m_tabctrl.InsertItem(1,_T("页面2"));  
  4. m_tabctrl.InsertItem(2,_T("页面3"));  


4、在资源视图里的Dialog,点击"Dialog”右键,选择"插入Dialog”,插入三个Dialog, ID分别命名为IDD_DIALOG1, IDD_DIALOG2, IDD_DIALOG3. 每个Dialog的属性中,style为Child, Border为None, 宽度调整下. 再分别为其添加对应的基于CDialog类CDialog1, CDialog2,CDialog3

5、在CXXXDlg.h中添加以上三个类的头文件 CDialog1.h CDialog2.h CDialog3.h

6、CXXXDlg.h中添加三个成员变量m_para1, m_para2,m_para3,如下:

[cpp]  view plain  copy
  1. CDialog1 m_para1;  
  2. CDialog2 m_para2;  
  3. CDialog3 m_para3;  
  4. //创建画面  
  5. m_para1.Create(IDD_DIALOG1, &m_tabctrl);    
  6. m_para2.Create(IDD_DIALOG2, &m_tabctrl);   
  7. m_para3.Create(IDD_DIALOG3, &m_tabctrl);   

7、//获得tabcontrol客户区大小

[cpp]  view plain  copy
  1. CRect rs;  
  2. m_tabctrl.GetClientRect(&rs);  
  3. //调整子对话框在父窗口中的位置,可以改动数值,使子窗体的大小合适;  
  4. rs.top+=20;  
  5. rs.bottom-=3;  
  6. rs.left+=2;  
  7. rs.right-=2;  
  8. //设置子对话框尺寸并移动到指定位置  
  9. m_para1.MoveWindow(&rs);  
  10. m_para2.MoveWindow(&rs);  
  11. m_para3.MoveWindow(&rs);  
  12. //分别设置隐藏和显示  
  13. m_para1.ShowWindow(true);  
  14. m_para2.ShowWindow(false);  
  15. m_para3.ShowWindow(false);  
  16. //设置默认的选项卡  
  17. m_tabMain.SetCurSel(0);  

7. 在资源视图中,双击Tab Control,添加事件处理程序

[cpp]  view plain  copy
  1. // TODO: 在此添加控件通知处理程序代码  
  2. m_para1.ShowWindow(false);  
  3. m_para2.ShowWindow(false);  
  4. m_para3.ShowWindow(false);  
  5. int CurSel = m_tabMain.GetCurSel();  
  6. switch(CurSel)  
  7. {  
  8. case 0:  
  9. m_para1.ShowWindow(true);  
  10. break;  
  11. case 1:  
  12. m_para2.ShowWindow(true);  
  13. break;  
  14. case 2:  
  15. m_para3.ShowWindow(true);  
  16. break;<span style="font-family:Arial, Helvetica, sans-serif;">}</span><span style="font-family:Arial, Helvetica, sans-serif;">*pResult = 0</span><span style="font-family:Arial, Helvetica, sans-serif;">;</span>  

猜你喜欢

转载自blog.csdn.net/qq_25241325/article/details/80240598