本文共 1248 字,大约阅读时间需要 4 分钟。
来源:
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; } TabCtrl控件的基本使用介绍到这。