CTabCtrl的使用

转载 2012年03月23日 00:09:23

原文出处:http://www.cnblogs.com/wxfasdic/archive/2009/06/12/1502305.html

建立一个基于对话框的MFC程序tabctrltest

第一步:
在程序主对话框中添加控件,ID修改为IDM_tabList,添加控件变量 m_tablist;
第二步:
新建一个对话框,ID修改为IDM_dlgtab1,修改属性styles->child;border->None;可以在上面添加些控件,(自己布置)
然后建立类向导,继承CDialog。 类名为CDlgTab1;
第三步:
在程序主对话框类中添加CDlgTab1类的对象m_dlgtab1;

在 OnInitDialog()函数中添加如下代码:

//初始化m_tablist控件
m_tablist.InsertItem(0,_T("第一页"));    //红色部分为每一页显示的标题
//建立各属性页
m_dlgtab1.Create(IDM_dlgtab1,&m_tablist);
// 设置页面的位置在m_tablist控件范围内
CRect rc;
m_tablist.GetClientRect(rc);
rc.top += 21;
rc.bottom -= 1;
rc.left += 1;
rc.right -= 1;
m_dlgtab1.MoveWindow(rc);
m_dlgtab1.ShowWindow(SW_SHOW);

上 面仅仅是演示了建立一个属性页的过程,也可以建立多个对话框,将他们绑定到tabctrl控件中。但是,此时要为控件添加OnTcnSelchangetablist(...)消息响应处理函数。这个函数完成当我们切换页面时,显示相应的对话框。一般来说,这个函数的格式为:

void CLASSNAME::OnTcnSelchangetablist(NMHDR *pNMHDR, LRESULT *pResult)
{
switch(m_tablist.GetCurSel())
{
case 0:
{
m_tab1Dlg.ShowWindow(SW_SHOW);
m_tab2Dlg.ShowWindow(SW_HIDE);
m_tab3Dlg.ShowWindow(SW_HIDE);
break;
}
case 1:
{
m_tab1Dlg.ShowWindow(SW_HIDE);
m_tab2Dlg.ShowWindow(SW_SHOW);
m_tab3Dlg.ShowWindow(SW_HIDE);
break;
}
case 2:
{
m_tab1Dlg.ShowWindow(SW_HIDE);
m_tab2Dlg.ShowWindow(SW_HIDE);
m_tab3Dlg.ShowWindow(SW_SHOW);
break;
}
。
。
。
default:
{}
}
*pResult = 0;
}

MFC控件使用-CTabCtrl

使用过属性表和属性页控件的人,使用感觉方便的同时,又感觉困惑。能不能改变属性页标签的位置,比如放在窗体的左侧,能不能制作出漂亮的界面。这些问题完全可以由CTabCtrl解决。   网上详细讲解这个控件...
  • gexiaochuan122
  • gexiaochuan122
  • 2013年11月23日 15:23
  • 5137

如何使用CTabCtrl来实现多页面属性对话框?

关于在VC中如何使用这个控件,大体思路可以这样:1)在资源管理器中创建几个Dialog, 分别生成相应的类(基于CDialog),注意,要设置Dialog的Style为"Child", Border为...
  • zcm242004
  • zcm242004
  • 2006年08月30日 15:45
  • 6760

CTabCtrl用法

VC中的CTabCtrl用法与VB、Delphi的选项卡控件有很大的不同,每个属性页是用一个“窗体”(对话框)来实现,于是要为每个属性页对 话框建类,还要关联、初始化……实在麻烦得多。但是CTabCt...
  • fin86889003
  • fin86889003
  • 2013年09月10日 14:37
  • 921

VC:隐藏CTabCtrl标签按钮

目标:实现隐藏CTabCtrl 标签按钮,而通过一个下拉框或者菜单来实现CTabCtrl标签页面切换。使之看起来像个单个对话框页面,而事实上是CTabCtrl。 有人可能觉得这是不是有点BT,其实,...
  • whatday
  • whatday
  • 2012年07月06日 16:39
  • 2975

MFC中标签控件CTabCtrl类的使用

MFC中标签控件CTabCtrl的使用 Last Edit 2013/11/19 标签控件的实质          标签控件实质是就是一个对话框的容器,可是将多个对话框集合到一个页面中,通过标签来达到...
  • jxlijunhao
  • jxlijunhao
  • 2013年11月19日 10:38
  • 1559

隐藏CTabCtrl标签页按钮

目标:实现隐藏CTabCtrl 标签按钮,而通过一个下拉框或者菜单来实现CTabCtrl标签页面切换。使之看起来像个单个对话框页面,而事实上是CTabCtrl。 有人可能觉得这是不是有点BT,其实,...
  • dyzhen
  • dyzhen
  • 2011年01月04日 12:32
  • 1014

VS2010+MFC使用CTabCtrl控件实现属性页功能

这是做毕设的时候用到的
  • wangxiaokun671903
  • wangxiaokun671903
  • 2014年08月01日 17:11
  • 1970

使用CTabCtrl

 原文:http://www.codeguru.com/Cpp/controls/controls/tabcontrols/article.php/c5239作者:Ben Hill 环境:VC6 SP...
  • FlyingLimy
  • FlyingLimy
  • 2007年02月22日 23:23
  • 4776

VC++ CTabCtrl控件自定义宏使用例子

为了更方便地使用VC++中的CTabCtrl控件,特在YTabCtrl.h文件中定义了几个宏,通过使用宏,可以方便地实现TAB控件的功能。...
  • yaoyuanyylyy
  • yaoyuanyylyy
  • 2017年04月06日 14:26
  • 434

标签控件Tab Control以及CTabCtrl类

标签控件简介        标签控件也比较常见。它可以把多个页面集成到一个窗口中,每个页面对应一个标签,用户点击某个标签时,它对应的页面就会显示。下图是Windows系统配置中标签控件的例子: ...
  • gateway6143
  • gateway6143
  • 2014年06月26日 09:20
  • 1349
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:CTabCtrl的使用
举报原因:
原因补充:

(最多只允许输入30个字)