大一菜鸟一枚(24K纯菜),对计算机感兴趣,大学里才报的这个专业。以前学过C++,但仅仅是简单的入门式学习,现在接触VS2010,通过利用微软的开发工具 进一步了解 Visual C++开发。
今天用了vs2010下的TabControl控件,现写这个笔记,以便自己日后查看,如果您看到本文中有不正确的地方,还请您指出来,感谢!
首先现在窗体中添加TabControl控件,控件ID属性改为IDC_TAB,调整好间距,右击TabControl选择添加变量选项,变量名为m_tab(具体如下图)。
Tab控件可以添加多个选项,本文选择添加3个选项,所以在资源文件中需要添加三个对话框IDD_DIALOG1,IDD_DIALOG2,IDD_DIALOG3,分别为他们添加类CPage1,CPage2,CPage3。
为了区分这三个对话框,需要在窗体上逐个添加一个Static Text控件,他们的Caption值分别为PAGE1,PAGE2,PAGE3。
做好以上准备后,双击 头文件文件夹 中的 主窗体的头文件,添加三个头文件引用(Page1.h,Page2.h,Page3.h,),在窗体类中添加三个类的对象(CPage1 m_page1...),具体操作如下
完成以上操作后,就需要编写代码了,找到主窗体CPP文件中的OnIntDialog函数,在其中进行代码编写。
m_tab.InsertItem(1,_T("测试1"));
m_tab.InsertItem(2,_T("测试2"));
m_tab.InsertItem(3,_T("测试3"));//为TAB控件添加三个选项卡
m_page1.Create(IDD_DIALOG1,GetDlgItem(IDC_TAB));
m_page2.Create(IDD_DIALOG2,GetDlgItem(IDC_TAB));
m_page3.Create(IDD_DIALOG3,GetDlgItem(IDC_TAB));//创建页面窗口
CRect rs;
m_tab.GetClientRect(rs);//获得当前IDC_TAB的rect值
rs.top+=20;
rs.bottom-=1;
rs.left-=2;
rs.right-=1;//对其rect的值进行更改
m_page1.SetParent(GetDlgItem(IDC_TAB));
m_page2.SetParent(GetDlgItem(IDC_TAB));
m_page3.SetParent(GetDlgItem(IDC_TAB));//设置母窗体
m_page1.MoveWindow(rs);
m_page2.MoveWindow(rs);
m_page3.MoveWindow(rs);//设置窗体所在的位置
m_page1.ShowWindow(SW_SHOW);//默认打开第一个子窗体
m_tab.SetCurSel(0);//选项卡默认选中第一个
最后我们选中TAB_CONTROL控件,再其属性窗口选择编辑事件,选择TCN_SELCHANGE事件进行编辑。
switch(m_tab.GetCurSel())//Tab选项卡被选中的选项
{
case 0:
m_page1.ShowWindow(TRUE);
m_page1.ShowWindow(FALSE);
m_page1.ShowWindow(FALSE);
case 1:
m_page1.ShowWindow(FALSE);
m_page1.ShowWindow(TRUE);
m_page1.ShowWindow(FALSE);
case 2:
m_page1.ShowWindow(FALSE);
m_page1.ShowWindow(FALSE);
m_page1.ShowWindow(TRUE);
}
Tab_Control控件的示例终于完成了。
此纯属菜鸟个人的笔记,如果有不好的地方还请各位指出,感谢!