MFC控制項編程:Tab Control_MFC

來源:互聯網
上載者:User
Tab控制項的使用
   1 插入Tab控制項的資料項目(標籤)
     CTabCtrl::InsertItem
   2 以Tab控制項為父視窗建立對話方塊
   3 調整對話方塊大小
   4 在Tab控制項的SELCHANGE訊息處理函數中,根據當前選項的索引設定對話方塊的顯示狀態。


   建立一個基於對話方塊的工程,拖放一個Tab Control控制項,Ctrl+W 為之綁定一個控制項變數m_wndTabCtrl
   插入兩個對話方塊資源做為標籤頁面,注意設定它們的樣式為:child 和 無邊框
 
   
   雙擊對話方塊資源為他們添加相關類,父類使用預設CDialog即可
   這裡類名為CDialog1 和 CDialog2
   來到豬對話方塊類添加剛建立的對話方塊類的標頭檔,然後添加兩個該類型的成員變數:
   CDialog1 m_dlg1;   CDialog2 m_dlg2;
   然後來到主對話方塊的OnInitDialog函數中添加建立代碼,注意兩個對話方塊成員建立時要以主對話方塊為父類建立。

   代碼如下:

BOOL CTabCtrlDlg::OnInitDialog(){        ............................................// TODO: Add extra initialization here// 為Tab控制項添加標籤        m_wndTab.InsertItem (0, "Tab1");m_wndTab.InsertItem (0, "Tab2");// 以Tab控制項為父視窗建立兩個對話方塊m_dlg1.Create (IDD_DIALOG1, this);m_dlg2.Create (IDD_DIALOG2, this);// 顯示第一個對話方塊m_dlg1.ShowWindow (SW_SHOW);// 調整對話方塊大小// 擷取Tab控制項的大小CRect rt;m_wndTab.GetClientRect (&rt);rt.top += 35;rt.left += 25;rt.right -= 1;rt.bottom -= 1;// 設定每個對話方塊的大小m_dlg1.MoveWindow (&rt);m_dlg2.MoveWindow (&rt);        // 顯示第一個對話方塊        m_dlg1.ShowWindow (SW_SHOW);return TRUE;  // return TRUE  unless you set the focus to a control}


當然,為了能讓便簽頁具備切換的功能,給Tab控制項添加TCN_SELCHANGE訊息處理

void CMFCTabCtrolDlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) {// TODO: Add your control notification handler code here// 擷取當前選擇項int nItem = m_wndTabCtrl.GetCurSel ();    switch (nItem){case 0:m_dlg1.ShowWindow (SW_SHOW);m_dlg2.ShowWindow (SW_HIDE);break;case 1:m_dlg2.ShowWindow (SW_SHOW);m_dlg1.ShowWindow (SW_HIDE);break;}*pResult = 0;}



聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.