VC tab control 使用簡單例子
1. 新建一個(gè)MFC工程--MFC AppWizard(exe), 取名TabTest, 選擇Dialog based, 然后Finish.
2. 在話框上添加Tab Control控件并在Property屬性中設(shè)置ID為IDC_TAB. 在ClassWizard為其添加變量, 變量名為m_tab. 類型為CTabCtrl.
3. 在對話框的初始化函數(shù)On
m_tab.InsertItem(0, "第一頁");
m_tab.InsertItem(1, "第二頁");
4.在對話框資源里面添加兩個(gè)對話框資源, ID分別命名為IDD_PARA1, IDD_PARA2 . 在Property屬性中設(shè)置style為Child(下層), Border為None. 再分別為其添加對應(yīng)的基于CDialog類CPara1, CPara2.
5. 在CTabTestDlg類中添加兩個(gè)成員變量m_para1, m_para2, 分別是兩個(gè)子對話框的實(shí)例. 代碼如下:
CPage2 m_page2;
CPage1 m_page1;
6. 在IDD_TABTEST_DIALOG對話框的初始化函數(shù)On
//關(guān)聯(lián)對話框,并且將IDC_TABTEST控件設(shè)為父窗口
m_page1.Create(IDD_PAGE1,GetDlgItem(IDC_TAB));
m_page2.Create(IDD_PAGE2,GetDlgItem(IDC_TAB));
//獲得IDC_TABTEST客戶區(qū)大小
CRect rs;
m_tab.GetClientRect(&rs);
//調(diào)整子對話框在父窗口中的位置
rs.top+=20;
rs.bottom-=20;
rs.left+=20;
rs.right-=20;
//設(shè)置子對話框尺寸并移動(dòng)到指定位置
m_page1.MoveWindow(&rs);
m_page2.MoveWindow(&rs);
//分別設(shè)置隱藏和顯示
m_page1.ShowWindow(true);
m_page2.ShowWindow(false);
//設(shè)置默認(rèn)的選項(xiàng)卡
m_tab.SetCurSel(0);
7. 添加Tab Control控件的TCN_SELCHANGE事件響應(yīng)函數(shù)On
int CurSel = m_tab.GetCurSel();
m_page1.ShowWindow(false);
m_page2.ShowWindow(false);
switch(CurSel)
{
case 0:
m_page1.ShowWindow(true);
break;
case 1:
m_page2.ShowWindow(true);
break;
default:
break;
}
ok了,運(yùn)行試試!