关闭

CTabCtrl的使用

591人阅读 评论(0) 收藏 举报

原文出处: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;
}

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:181813次
    • 积分:2150
    • 等级:
    • 排名:第18353名
    • 原创:37篇
    • 转载:13篇
    • 译文:0篇
    • 评论:55条
    文章分类
    最新评论