MFC中tab control控件的使用方法

一、新 建一个 MFC 工程, 取名 Tabctrl , 选择 基于对话框 , 然后 点完成。

 
二、删除对话框上默认添加的三个控件添加Tab Control控件,属性设置:IDIDC_TAB1 

 

三、 Tab Control控件绑定控件变量,变量名为m_Tab类型为CTabCtrl


四、在TabCtrlDlg.cpp文件中,找到初始化函数OnInitDialog并在里面添加如下代码: 
                                   //分栏,分为第一页第二页

  m_Tab.InsertItem(0,_T(第一页));  
     m_Tab.InsertItem(1,_T(第二页));

五、在对话框资源里面添加两个对话框资源,

第一个对话框:

删除对话框上默认添加的三个控件;属性设置border设置为Nonestyle设置为child IDIDD_PAGE1;添加静态文本框,改为“第一页”;再为其添加对应的基于CDialogCPage1

第二个对话框:

删除对话框上默认添加的三个控件;属性设置:border设置为Nonestyle设置为child IDIDD_PAGE2添加静态文本框,改为“第二页”;添加对应的基于CDialog类CPage2。

 

六、 在TabCtrlDlg.h包含头文件并添加两个个成员变量m_Page1, m_ Page 2如下:

        #include "Page1.h"

#include "Page1.h"

        CPage1 m_Page1; 

        CPage2 m_Page2; 

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


//关联对话框,并且将IDC_TABTEST控件设为父窗口 
m_Page1.Create(IDD_PAGE1,GetDlgItem(IDC_TAB1)); 
  m_Page2.Create(IDD_PAGE2,GetDlgItem(IDC_TAB1));
 
//获得IDC_TABTEST客户区大小 
CRect rs; 
m_tab.GetClientRect(&rs); 
//调整子对话框在父窗口中的位置 
rs.top+=30
rs.bottom-=60; 
rs.left+=1; 
rs.right-=2; 
 
//设置子对话框尺寸并移动到指定位置 
m_Page1.MoveWindow(&rs); 
m_ Page a2.MoveWindow(&rs); 
 
//分别设置隐藏和显示 
m_ Page 1.ShowWindow(true); 
m_ Page 2.ShowWindow(false); 
 
//设置默认的选项卡 
m_Tab.SetCurSel(0);

 

八、 选择Tab Control控件,右击/添加事件处理程序,消息类型TCN_SELCHANGE事件响应函数OnSelchangeTabtest(NMHDR* pNMHDR, LRESULT* pResult) ,

函数体代码如下:

int CurSel = m_Tab.GetCurSel(); 
 switch(CurSel) 


case 0:       

 m_Page1.ShowWindow(true); 

m_ Page2.ShowWindow(false); 

break;

case 1:       

 m_Page1.ShowWindow(true); 

m_ Page2.ShowWindow(false); 

break;

default: 

 }  
 *pResult = 0;}

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值