一、建立tabcontrol控制項主要分為以下步驟
1.1將tabcontrol控制項拖入基本對話方塊中,並且建立乙個控制項變數m_tab
1.2建立兩個子對話方塊,id分別改為idd_dialog_page1和idd_dialog_page2。
1.3把兩個子對話方塊的屬性style改為child,border改為none。
1.4為兩個子對話方塊分別建立兩個類,類名稱分別為ctabpage1和ctabpage2。注意:子對話方塊中的控制項的初始化要在新建類中初始化,但子對話方塊的類中沒有初始化函式,需要自己新增,切換到類檢視,到類屬性中新增init函式。
1.5將兩個子對話方塊的類標頭檔案tabpage1.h和tabpage2.h都加入主對話方塊標頭檔案test11dlg.h中,方便主對話方塊test11dlg.h和test11dlg.cpp呼叫這兩個對話方塊的類。
1.6在主對話方塊標頭檔案test11dlg.h中,建立兩個子對話方塊類的物件,分別為ctabpage1 m_page1;和ctabpage2 m_page2;
1.7然後在oninitdialog()中新增如下**:
// todo: 在此新增額外的初始化**
crect tabrect; // 標籤控制項客戶區的位置和大小
m_tab.insertitem(0, _t("***")); // 插入第乙個標籤「***」
m_tab.insertitem(1, _t("***")); // 插入第二個標籤「***」
m_page1.create(idd_page1_dialog, &m_tab); // 建立第乙個標籤頁
m_page2.create(idd_page2_dialog, &m_tab); // 建立第二個標籤頁
m_tab.getclientrect(&tabrect); // 獲取標籤控制項客戶區rect
// 調整tabrect,使其覆蓋範圍適合放置標籤頁
tabrect.left += 1;
tabrect.right -= 1;
tabrect.top += 25;
tabrect.bottom -= 1;
// 根據調整好的tabrect放置page1子對話方塊,並設定為顯示
page1.setwindowpos(null, tabrect.left, tabrect.top, tabrect.width(), tabrect.height(), swp_showwindow);
// 根據調整好的tabrect放置page2子對話方塊,並設定為隱藏
page2.setwindowpos(null, tabrect.left, tabrect.top, tabrect.width(), tabrect.height(), swp_hidewindow);
1.8 雙擊tancontrol控制項,然後在彈出的函式ontcnselchangetab1中新增如下**:
// todo: 在此新增控制項通知處理程式**
crect tabrect; // 標籤控制項客戶區的rect
// 獲取標籤控制項客戶區rect,並對其調整,以適合放置標籤頁
m_tab.getclientrect(&tabrect);
tabrect.left += 1;
tabrect.right -= 1;
tabrect.top += 25;
tabrect.bottom -= 1;
switch (m_tab.getcursel())
*presult = 0;
MFC中Tab Control的使用
一 tabcontrol使用步驟 1 專案中新增2個檔案 ctabsheet.h和ctabsheet.cpp 2 新增tabcontrol控制項,新增變數m tab,注意變數型別為ctabsheet。3 新增2個視窗,設定屬性border為none,style為child,並且給2個視窗新增對應的....
MFC中Tab Control 控制項的使用
1.先建立乙個對話方塊mfc應用程式,然後在工具箱裡面把tab control控制項放到對話方塊中的合適位置上。再在對話方塊類中,宣告乙個ctabctrl變數 ctabctrl m tab 變數m tab用來與對話方塊中的tab control控制項互動,為此要在dodataexchange函式中加...
MFC控制項程式設計 Tab Control
tab控制項的使用 1 插入tab控制項的資料項 標籤 ctabctrl insertitem 2 以tab控制項為父視窗建立對話方塊 3 調整對話方塊大小 4 在tab控制項的selchange訊息處理函式中,根據當前選項的索引設定對話方塊的顯示狀態。新建乙個基於對話方塊的工程,拖放乙個tab c...