TabControl的用法步驟詳解

2022-04-05 15:24:20 字數 1381 閱讀 4827

1、首先建立乙個mfc對話方塊框架,在對話方塊資源上從工具箱中新增上乙個tab control 控制項,根據需要修改一下屬性,然後右擊控制項,為這個控制項新增乙個變數,將此控制項跟乙個ctabctrl類變數繫結在一起,這裡設為m_tabctrl

2、建立兩個新的對話方塊資源,其屬性作如下修改:

border:none //邊界為空,這樣它就沒了標題欄

style :child // 這樣這個模板就可以當作另乙個視窗的子視窗了。

其它如果沒有必要,就不用改了。

在上面加一些控制項什麼的,具體操作跟普通對話方塊沒有區別。

完成後從這兩個對話方塊模板生成兩個新的對話方塊類。

3、在主對話方塊中為新新增進來的兩個類增加兩個變數:

如:cdialog1 m_mm1;

cdialog2 m_mm2;

4、在主對話方塊的oninitdialog()函式中新增如下類似的**:

tcitem item;

item.mask = tcif_text;

item.psztext = "第一頁 ";

m_tabctrl.insertitem (0,&item);

item.psztext = "第二頁 ";

m_tabctrl.insertitem (1,&item);

m_mm1.create (idd_dialog1,&m_tabctrl);

m_mm2.create (idd_dialog2,&m_tabctrl);

m_mm1.setwindowpos (null,10,30,400,100,swp_showwindow);

m_mm2.setwindowpos (null,10,30,400,100,swp_hidewindow );

解釋如下:

兩個insertitem函式的呼叫是為了給標籤控制項增加兩個標籤頁面,文字是標題。

setwindowpos()函式設定這兩個對話方塊在z順序中的位置,顯示或隱藏狀態.。

5、在主對話中為標籤控制項新增乙個標籤選擇改變(tcn_selchange)的控制項通知訊息,以便在使用者選擇標籤時通知主對話方塊。在主對話方塊的編輯介面右擊標籤控制項,選擇新增乙個事件可以完成這個操作。

在事件處理中新增如下**,如下例:

void ctabdialogdlg::ontcnselchangetab1(nmhdr *pnmhdr, lresult *presult)

*presult = 0;

} 要想知道使用者選擇那個標籤頁,要通過m_tabctrl.getcursel() 函式。為了不使顯示的子對話方塊覆蓋標籤控制項的顯示,所以要獲得標籤控制項的尺寸然後設定各頁面的尺寸。 

關於TabControl的Trigger 專案

我有乙個tabcontrol tabcontrol x name toolsystemsection grid.row 4 contenttemplate issynchronizedwithcurrentitem true itemcontainerstyle itemssource style ...

Tab Control控制項使用的例子

公尺度軟體 www.midosoft.cn 1 首先建立乙個mfc對話方塊框架,在對話方塊資源上從工具箱中新增上乙個tab control 控制項,根據需要修改一下屬性,然後右擊控制項,為這個控制項新增乙個變數,將此控制項跟乙個ctabctrl類變數繫結在一起,這裡設為m tabctrl 2 建立兩...

如何改變Tab Control的顏色

蒐羅了一下,還沒有發現完整的描述資料,這裡簡單描述一下自己摸索的思路。要改變tab control的顏色,首先了解tab control的組成 tab頁頭,tab頁和背景。所以需要同時改變這三個部分顏色,才能達到目的。1 改變tab頁頭的顏色 這部分可參考msdn的資料,這裡不再重複。how to ...