Tab Control控件使用的例子(zz) 
Posted on 2006-04-30 21:49 Tauruser 阅读(577) 评论(1)  编辑 收藏 引用  
1、首先创建一个MFC对话框框架,在对话框资源上从工具箱中添加上一个Tab Control 控件,根据需要修改一下属性,然后右击控件,为这个控件添加一个变量,将此控件跟一个CTabCtrl类变量绑定在一起,这里设为m_tabctrl
2、创建两个新的对话框资源,其属性作如下修改:
Border:none //边界为空,这样它就没了标题栏
Style :Child // 这样这个模板就可以当作另一个窗口的子窗口了。
   其它如果没有必要,就不用改了。
在上面加一些控件什么的,具体操作跟普通对话框没有区别。
完成后从这两个对话框模板生成两个新的对话框类。
3、在主对话框中为新添加进来的两个类增加两个变量:
如:CDialog1 m_mm1;
CDialog2 m_mm2;......................................................
这个第三步是咋操作的,我在主对话框点右键选classwizard 添加不了

解决方案 »

  1.   

    ...手动添加代码,你以为所有的工作用向导都可以搞定吗?
    在OnInitDialog()中添加
    m_tabctrl.InsertItem(0," TAB项名称1");
    m_tabctrl.InsertItem(2," TAB项名称2");m_mm1.Create(IDD_DIALOG1,GetDlgItem(IDC_TAB1));
    m_mm2.Create(IDD_DIALOG2,GetDlgItem(IDC_TAB2));CRect rect;
    m_tabctrl.GetClientRect(&rect);
    rect.top+=20;//微调节位置
    rect.left+=?;
    rect.right+=?;
    rect.bottom+=?;
    m_mm1.MoveWindow(rect);
    m_mm2.MoveWindow(rect);m_mm1.ShowWindow(true);
    m_mm2.ShowWindow(false);//默认显示Tab1中的内容。
    m_tabctrl.SetCursel(0);真正要完成你想的效果,还要在SEL_CHANGE事件响函数中动态显示两对话框及设置TAB的CurSel
    (SetCurSel( ?))