小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

VS下tab control使用方法(非常實(shí)用)

 haodafeng_org 2011-08-25

1. 在Visual Studio 2005中,新建一個(gè)項(xiàng)目,選擇MFC應(yīng)用程序, 取名MyTab, 選擇Dialog based(基于對(duì)話框), 然后Finish.
2. 刪除對(duì)話框上默認(rèn)添加的三個(gè)控件. 添加Tab Control控件,右鍵選擇“屬性”,并設(shè)置ID為IDC_TABMAIN。調(diào)速尺寸使其布滿整個(gè)對(duì)話框. 選中Tab Control控件,右鍵選擇“添加變量”,變量名為m_tabMain. 類型為CTabCtrl.
3. 在CXXXDlg類中的對(duì)話框初始化函數(shù)OnInitDialog里面添加如下代碼:

//添加選項(xiàng)卡
m_tabMain.InsertItem(0,_T("選項(xiàng)卡1"));//“選項(xiàng)卡1”可更改,是sheet頁(yè)的名字;
m_tabMain.InsertItem(1,_T("選項(xiàng)卡2"));
m_tabMain.InsertItem(2,_T("選項(xiàng)卡3"));

4.在資源視圖里的Dialog,點(diǎn)擊"Dialog”右鍵,選擇"插入Dialog”,插入三個(gè)Dialog, ID分別命名為IDD_DIALOG1, IDD_DIALOG2, IDD_DIALOG3(可根據(jù)具體Dialog的用途來(lái)命名). 每個(gè)Dialog的屬性中,style為Child, Border為None, 寬度調(diào)整下. 再分別為其添加對(duì)應(yīng)的基于CDialog類CDialog1, CDialog2, CDialog3.

5. 在類視圖中,點(diǎn)CMyTabDlg類右鍵,選擇添加變量,依次添加三個(gè)成員變量m_para1, m_para2, m_para3(命名也隨意,最好對(duì)應(yīng)著類), 分別是三個(gè)子對(duì)話框的實(shí)例. 代碼如下:

CDialog1 m_para1;
CDialog2 m_para2;
CDialog3 m_para3;

6. 在IDD_MYTAB_DIALOG對(duì)話框的初始化函數(shù)OnInitDialog里面添加如下代碼:

//關(guān)聯(lián)對(duì)話框,并且將IDC_TABMAIN控件設(shè)為父窗口
m_para1.Create(IDD_DIALOG1,GetDlgItem(IDC_TABMAIN));
m_para2.Create(IDD_DIALOG2,GetDlgItem(IDC_TABMAIN));
m_para3.Create(IDD_DIALOG3,GetDlgItem(IDC_TABMAIN));


//獲得IDC_tabMain客戶區(qū)大小
CRect rs;
m_tabMain.GetClientRect(&rs);

//調(diào)整子對(duì)話框在父窗口中的位置,可以改動(dòng)數(shù)值,使子窗體的大小合適;
rs.top+=20;
rs.bottom-=3;
rs.left+=2;
rs.right-=2;

//設(shè)置子對(duì)話框尺寸并移動(dòng)到指定位置
m_para1.MoveWindow(&rs);
m_para2.MoveWindow(&rs);
m_para3.MoveWindow(&rs);

//分別設(shè)置隱藏和顯示
m_para1.ShowWindow(true);
m_para2.ShowWindow(false);
m_para3.ShowWindow(false);

//設(shè)置默認(rèn)的選項(xiàng)卡
m_tabMain.SetCurSel(0);

7. 在資源視圖中,右鍵Tab Control,選擇“添加事件處理程序”,選擇TCN_SELCHANGE事件,事件處理程序名稱“OnTcnSelchangeTabmain”,這樣就有了切換sheet頁(yè)的響應(yīng)函數(shù)OnSelchangeTabmain(NMHDR* pNMHDR, LRESULT* pResult) ,函數(shù)體代碼如下:

// TODO: 在此添加控件通知處理程序代碼

int CurSel = m_tabMain.GetCurSel();
switch(CurSel)
{
case 0:
m_para1.ShowWindow(true);
m_para2.ShowWindow(false);
m_para3.ShowWindow(false);
break;
case 1:
m_para1.ShowWindow(false);
m_para2.ShowWindow(true);
m_para3.ShowWindow(false);
break;
case 2:
m_para1.ShowWindow(false);
m_para2.ShowWindow(false);
m_para3.ShowWindow(true);
break;
default:;
}
*pResult = 0;

8.現(xiàn)在在類視圖中,點(diǎn)根目錄mytab,右鍵選擇“生成”,應(yīng)該是一個(gè)成功的。

現(xiàn)在框架搭好了,只需要在資源視圖中的相應(yīng)的Dialog上作相應(yīng)的設(shè)計(jì)了

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多