[C++&MFC] MFC利用标签控件(Tab Control)实现分页

1.从工具箱拉一个Tab Control控件到对话框上
2.在在资源视图的Dialog中添加n个对话框窗体ID改为IDD_xxx1,,IDD_xxx2.等等
3.将新添加的n个对话框Border属性改为NONE,Style属性改为Child;
4.分别在这几个新建的对话框上右键添加类输入类名CDialgChild1,CDialgChild2等等
5.在类视图中选择主对话框对应的类,右键选择“添加”–> “添加变量”,输入变量类型“CDialgChild1”,变量名“cDialgChild1”;第二个类似(输入“CDialgChild2”和“cDialgChild2”);
6.右键Tab控件添加变量“m_tab”
7.在OnInitDialog()函数中添加类似如下的代码:

// TODO:  在此添加额外的初始化代码
 
	CRect m_tempRect;
	m_tab.GetClientRect(m_tempRect);
	m_tempRect.DeflateRect(2, 30, 5, 5);
 
	m_tab.InsertItem(0, "TAB1");
	m_tab.InsertItem(1, "TAB2");
 
	cDialgChild1.Create(IDD_xxx1, &m_tab);
	cDialgChild2.Create(IDD_xxx2, &m_tab);
 
	cDialgChild1.MoveWindow(m_tempRect);
	cDialgChild2.MoveWindow(m_tempRect);
 
	cDialgChild1.ShowWindow(SW_SHOW);
	cDialgChild2.ShowWindow(SW_HIDE);
 
	m_tab.SetCurSel(0);

8双击Tab控件添加消息响应函数代码类似如下:

switch (m_tab.GetCurSel())
{
case 0:
cDialgChild1.ShowWindow(SW_SHOW);
cDialgChild2.ShowWindow(SW_HIDE);
break;
case 1:
default:
cDialgChild1.ShowWindow(SW_HIDE);
cDialgChild2.ShowWindow(SW_SHOW);
break;
}
 
*pResult = 0;

9.VS2013中,有两句要修改一下
m_tab.InsertItem(0, _T(“TAB1”));
m_tab.InsertItem(1, _T(“TAB2”));
10.如果想在标签子页中嵌套添加标签页,子页默认没有初始化函数OnInitDialog(),需在类向导中点击虚函数找到后选择添加

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值