您的位置:首页 > 其它

MFC选项卡控件的使用

2015-12-06 23:17 603 查看
1.新建一个TabControlTest,选择Dialog based, 然后Finish。

2. 在对话框上添加Tab控件,然后,在控件上右键添加变量,变量名为m_TabWin. 类型为CTabCtrl.

3. 在对话框的初始化函数OnInitDialog里面添加如下代码:

m_TabWin.InsertItem(0, _T("Main Hyposis"));

m_TabWin.InsertItem(1, _T("Other Hyposis"));

4. 然后,在对话框资源里面再增加两个对话框,作为选项卡的子对话框,需要对这两个对话框的属性进行设置:Border选为None,Style选为Child。并将其ID改为:IDD_FIRSTTAB和IDD_SECONDTAB。再分别为其添加对应的基于CDialog类CFirstTab, CSecondTab.

5. 再在TabControlTest1Dlg.h中添加变量

CFirstTab
m_FirstTab;

CSecondTab
m_SecondTab;

6.再在初始化函数OnInitDialog里面添加如下代码:

m_FirstTab.Create(IDD_FIRSTTAB, &m_TabWin);

m_SecondTab.Create(IDD_SECONDTAB, &m_TabWin);

CRect rect;

m_TabWin.GetClientRect(&rect);

rect.top+=25; //如果是横的选项卡,要在这个地方腾出选项页的标签,+20即可

rect.bottom-=4;

rect.left+=4; //因为是竖的选项卡,所以这个地方为了腾出选项页的标签,逻辑坐标默认向下为正,向右为正

rect.right-=4;

m_FirstTab.MoveWindow(&rect);

m_SecondTab.MoveWindow(&rect);

m_FirstTab.ShowWindow(TRUE);

m_SecondTab.ShowWindow(FALSE);

m_TabWin.SetCurSel(0);

7. 双击对话框上的选项卡控件添加Tab Control控件的TCN_SELCHANGE事件响应函数OnSelchangeTabtest(NMHDR* pNMHDR, LRESULT* pResult) ,函数体代码如下:

int CurSel;

CurSel = m_TabWin.GetCurSel();

switch(CurSel)

{

case 0:

m_FirstTab.ShowWindow(TRUE);

m_SecondTab.ShowWindow(FALSE);

break;

case 1:

m_FirstTab.ShowWindow(FALSE);

m_SecondTab.ShowWindow(TRUE);

break;

default: ;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: