qiuri2008

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

1、首先创建一个MFC对话框框架,在对话框资源上从工具箱中添加上一个TabControl控件

 【分享】TabControl控件用法图解

2、根据需要修改一下属性,然后右击控件,为这个控件添加一个变量,将此控件跟一个CTabCtrl类变量绑定在一起,这里设为m_tabctrl

 【分享】TabControl控件用法图解

 

3、插入两个新的对话框其属性作如下修改:

Border:none //边界为空,这样它就没了标题栏

Style :Child // 这样这个模板就可以当作另一个窗口的子窗口了。

Title Bar:False

在上面加一些控件什么的,具体操作跟普通对话框没有区别。
完成后从这两个对话框模板生成新的对话框类CDlg1,CDlg2。

 

 

 【分享】TabControl控件用法图解

 

4、在主对话框头文件CMydlg.h中为新添加进来的2个类增加2个变量:
如:CDlg1 page1;

 

 【分享】TabControl控件用法图解

5、在主对话框的OnInitDialog()函数中添加如下类似的代码:

TCITEM item;

   item.mask = TCIF_TEXT;

   item.pszText =_T( "第一页");

   m_tabctrl.InsertItem (0,&item);

   item.pszText =_T("第二页");

   m_tabctrl.InsertItem (1,&item);

   page1.Create (IDD_DIALOG1,&m_tabctrl);

   page2.Create (IDD_DIALOG2,&m_tabctrl);

   CRect rect;

   m_tabctrl.GetClientRect(&rect);

   rect.top+=20;

   rect.bottom-=4;

   rect.left+=4;

   rect.right-=4;

   page1.MoveWindow(&rect);

   page2.MoveWindow(&rect);

    page1.ShowWindow(TRUE);

   m_tabctrl.SetCurSel(0);

 

 【分享】TabControl控件用法图解

 

6、在主对话中为标签控件添加一个标签选择改变(TCN_SELCHANGE)的控件通知消息,以便在用户选择标签时通知主对话框。在主对话框的编辑界面右击标签控件,选择添加一个事件处理程序,选择可以完成这个操作

 

【分享】TabControl控件用法图解


    在事件处理中添加如下代码,如下例:

int CurSel;

 

   CurSel=m_tabctrl.GetCurSel();

 

   switch(CurSel)

 

   { case 0:

 

   page1.ShowWindow(TRUE);

 

   page2.ShowWindow(FALSE);

 

   break;

 

   case 1:

 

      page1.ShowWindow(FALSE);

 

      page2.ShowWindow(TRUE);

      break;

   default:

   }

 

 

【分享】TabControl控件用法图解

    要想知道用户选择那个标签页,要通过m_tabctrl.GetCurSel() 函数。为了不使显示的子对话框覆盖标签控件的显示,所以要获得标签控件的尺寸然后设置各页面的尺寸。

posted on 2016-01-15 19:29  江召伟  阅读(12674)  评论(1编辑  收藏  举报