日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

VC++ Tab Control控件的使用

 啟蒙彩魂 2010-12-15

1. 新建一個MFC工程, 取名Tab, 選擇Dialog based, 然后Finish.

2. 刪除該對話框上默認(rèn)添加的三個控件. 添加Tab Control控件設(shè)置ID為IDC_TAB.在ClassWizard為其添加變量, 變量名為m_tab,類型為CTabCtrl.

3. 在對話框的初始化函數(shù)OnInitDialog里面添加如下代碼: m_tab.InsertItem(0,"加數(shù)");   //添加加數(shù)選項卡

m_tab.InsertItem(1,"被加數(shù)");  //添加被加數(shù)二選項卡

m_tab.InsertItem(2,"和");      //添加和選項卡

4.在對話框資源里面添加三個對話框資源, ID分別命名為IDD_ADD1, IDD_ADD2, IDD_RESULT. 字體為宋體,字號為9, style為Child, Border為None.再分別為其添加對應(yīng)的基于CDialog類Cadd1, Cadd2, CResult.

5. 在CTabDlg類中添加三個成員變量m_add1, m_add2, m_result, 分別是三個子對話框的實例. 代碼如下:

CResult m_result; //需要#include “CResult.h”

CAdd2 m_add2;

Cadd1 m_add1;

6. 在IDD_Add1對話框上添加靜態(tài)文本控件內(nèi)容為"加數(shù)" 再在后面插入一個文本框控件, 用ClassWizard將其關(guān)聯(lián)為一個int型變量,名為m_nAdd1;在IDD_Add2對話框上添加靜態(tài)文本控件內(nèi)容為"被加數(shù)" 再在后面插入一個文本框控件, 用ClassWizard將其關(guān)聯(lián)為一個int型變量,名為m_nAdd2;在IDD_RESULT對話框上添加靜態(tài)文本控件內(nèi)容為"結(jié)果" 再在后面插入一個文本框控件, 用ClassWizard將其關(guān)聯(lián)為一個int型變量,名為m_nResult;

7. 為CAdd1類添加成員函數(shù)int GetAdd1() 代碼如下:

int CAdd1:: GetAdd1() { return m_nAdd1;}

為CAdd2類添加成員函數(shù)int GetParaValue() 代碼如下:

int CAdd2:: GetAdd2 (){return m_nAdd2;;}

為CResult類添加成員函數(shù)void SetResult(int nResult) 代碼如下:

void CResult::SetResult() (int nResult){m_nResult = nResult;}

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

//關(guān)聯(lián)對話框,并且將IDC_TABTEST控件設(shè)為父窗口

m_add1.Create(IDD_ADD1,GetDlgItem(IDC_TAB));

m_add2.Create(IDD_ADD2,GetDlgItem(IDC_TAB));

m_result.Create(IDD_RESULT,GetDlgItem(IDC_TAB));

//獲得IDC_TAB客戶區(qū)大小

CRect rs;

m_tab.GetClientRect(&rs);

//調(diào)整子對話框在父窗口中的位置

rs.top+=60;

rs.bottom-=1;

rs.left+=1;

rs.right-=2;

//設(shè)置子對話框尺寸并移動到指定位置

m_add1.MoveWindow(&rs);

m_add2.MoveWindow(&rs);

m_result.MoveWindow(&rs);

//分別設(shè)置隱藏和顯示

m_add1.ShowWindow(true);

m_add2.ShowWindow(false);

m_result.ShowWindow(false);

//設(shè)置默認(rèn)的選項卡

m_tab.SetCurSel(0);

9. 添加Tab Control控件的TCN_SELCHANGE事件響應(yīng)函數(shù)void CTabDlg::OnSelchangeTab(NMHDR* pNMHDR, LRESULT* pResult)

{

       // TODO: Add your control notification handler code here

       int Cursel=m_tab.GetCurSel();

       switch(Cursel)

                

              case 0:

                     m_add1.ShowWindow(true);

                     m_add2.ShowWindow(false);

                     m_result.ShowWindow(false);

                     break;

              case 1:

                     m_add1.ShowWindow(false);

                     m_add2.ShowWindow(true);

                     m_result.ShowWindow(false);

                     break;

              case 2:

                     m_add1.ShowWindow(false);

                     m_add2.ShowWindow(false);

                     m_result.ShowWindow(true);

                     break;

              default:                    

       }

       *pResult = 0;}

10. 在IDD_TAB_DIALOG對話框下面添加一個按鈕, 標(biāo)題為"計算" 為其添加事件響應(yīng)函數(shù), 代碼如下:

m_add1.UpdateData(true);

m_add2.UpdateData(true);

m_result.SetResult (m_add1.GetAdd1()+m_add2.GetAdd2()); m_result.UpdateData(false);   

11. 程序完成

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多