VC选项卡控件的使用方法


建立选项卡控件不是简单的将选项卡控件拖置MFC面板就可以的,每个选项页我们必须建立一个对应的对话框资源,主要分为以下几个步骤


1、建立一个主对话框

2、放置CTabCtrl控件,类向导中关联变量名为m_Tab。要做一个具有四个选项页的选项卡,所以对应建立对应四个对话框资源,style属性设为Child,None,用ClassWizard生成新的类,基类为Cdialog,分别为Cpage0,Cpage1,Cpage2,ID号分别为 IDD_DIALOG1,IDD_DIALOG2,IDD_DIALOG3,IDD_DIALOG4。在主对话框中加入对应的四个对话框控件变 量,Cpage0 page0;Cpage1 page1;Cpage2 page2,Cpage3 page3。注意在主对话框的头文件中要加 入#include "page0.h",#include "page1.h",#include "page2.h,#include "page3.h"

下面的3-5步,在主对话框的OnInitDialog()中添加

3、初始化m_Tab控件 
m_Tab.InsertItem(0," 第一页"); 
m_Tab.InsertItem(1," 第二页"); 
m_Tab.InsertItem(2," 第三页"); 
m_Tab.InsertItem(3," 第四页");

4、 建立属性页各页 
page0.Create(IDD_DIALOG1,GetDlgItem(IDC_TAB1)); 
page1.Create(IDD_DIALOG2,GetDlgItem(IDC_TAB1)); 
page2.Create(IDD_DIALOG3,GetDlgItem(IDC_TAB1)); 
page3.Create(IDD_DIALOG4,GetDlgItem(IDC_TAB1));


5、 设置页面的位置在m_Tab控件范围内 
CRect rect; 
m_Tab.GetClientRect(&rect); 
rect.top+=4;  //如果是横的选项卡,要在这个地方腾出选项页的标签,+20即可
rect.bottom-=4; 
rect.left+=20;   //因为是竖的选项卡,所以这个地方为了腾出选项页的标签,逻辑坐标默认向下为正,向右为正
rect.right-=4; 
page0.MoveWindow(&rect); 
page1.MoveWindow(&rect); 
page2.MoveWindow(&rect);
page3.MoveWindow(&rect); 
page0.ShowWindow(TRUE);  //设置默认显示的选项卡页面
m_Tab.SetCurSel(0); 


6、主对话框中双击选项卡标签增加OnSelchangeTab1()响应函数:


int CurSel; 
CurSel=m_Tab.GetCurSel(); 
switch(CurSel) 

case 0: 
page0.ShowWindow(TRUE); 
page1.ShowWindow(FALSE); 
page2.ShowWindow(FALSE); 
page3.ShowWindow(FALSE); 
break; 
case 1: 
page0.ShowWindow(FALSE); 
page1.ShowWindow(TRUE); 
page2.ShowWindow(FALSE); 
page3.ShowWindow(FALSE); 
break; 
case 2: 
page0.ShowWindow(FALSE); 
page1.ShowWindow(FALSE); 
page2.ShowWindow(TRUE); 
page3.ShowWindow(FALSE); 
break; 
case 3: 
page0.ShowWindow(FALSE); 
page1.ShowWindow(FALSE); 
page2.ShowWindow(FALSE); 
page3.ShowWindow(TRUE); 
break; 
default: ; 

此外还有个方法。论坛上的http://topic.csdn.net/t/20060110/17/4508606.html

你可能感兴趣的:(mfc,dialog)