1. 程式人生 > >VS2010 MFC中tab control使用方法

VS2010 MFC中tab control使用方法


1、在已有工程中新增tab contr控制元件

2、為tab control控制元件新增變數m_tabctrl

3. 在CXXXDlg類中的對話方塊初始化函式OnInitDialog裡面新增如下程式碼:
//添加選項卡
m_tabctrl.InsertItem(0,_T("頁面1"));//“選項卡1”可更改,是sheet頁的名字;
m_tabctrl.InsertItem(1,_T("頁面2"));
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,如下:

CDialog1 m_para1;
CDialog2 m_para2;
CDialog3 m_para3;
//建立畫面
m_para1.Create(IDD_DIALOG1, &m_tabctrl);  
m_para2.Create(IDD_DIALOG2, &m_tabctrl); 
m_para3.Create(IDD_DIALOG3, &m_tabctrl); 

7、//獲得tabcontrol客戶區大小

CRect rs;
m_tabctrl.GetClientRect(&rs);
//調整子對話方塊在父視窗中的位置,可以改動數值,使子窗體的大小合適;
rs.top+=20;
rs.bottom-=3;
rs.left+=2;
rs.right-=2;
//設定子對話方塊尺寸並移動到指定位置
m_para1.MoveWindow(&rs);
m_para2.MoveWindow(&rs);
m_para3.MoveWindow(&rs);
//分別設定隱藏和顯示
m_para1.ShowWindow(true);
m_para2.ShowWindow(false);
m_para3.ShowWindow(false);
//設定預設的選項卡
m_tabMain.SetCurSel(0);

7. 在資源檢視中,雙擊Tab Control,新增事件處理程式

// TODO: 在此新增控制元件通知處理程式程式碼
m_para1.ShowWindow(false);
m_para2.ShowWindow(false);
m_para3.ShowWindow(false);
int CurSel = m_tabMain.GetCurSel();
switch(CurSel)
{
case 0:
m_para1.ShowWindow(true);
break;
case 1:
m_para2.ShowWindow(true);
break;
case 2:
m_para3.ShowWindow(true);
break;}*pResult = 0;