我有一个已经做好的Tab程序,能够正常使用,但是是点击标签实现的页面切换。现在我想改成在Tab1里用按钮实现切换到别的页面,知道可以用SetCurSel函数,
但是不知道具体怎么使用,哪位大哥能教教我,或者给我发个源代码,谢谢大家,
非常感谢![email protected]
我自己实现就是在函数里调用这个函数,但是没反应不知道怎么回事,
我的函数里有个初始化Tab 的类 class CMyTabCtrl 但是还是不知道具体怎么使用。

解决方案 »

  1.   

    你页面创建的时候需要保存CMyTabCtrl对象m_tab,
    然后就可以直接调用了
    m_tab.SetCurSel();
      

  2.   

    在按钮中
    ((CMyTabCtrl*)GetParent())->SetCurSel();
      

  3.   

    楼上 经常看你回帖子 先谢谢你哈不过我不太懂 对于已经建立完了的Tab 我怎样再加CMyTabCtrl对象m_tab,呢 谢谢
      

  4.   

    SetCurSel(nIndex);//nIndex你要设置的序号
      

  5.   

    http://www.codeproject.com/KB/tabs/AMCustomTabCtrlDemo.aspx
    页面切换使用m_ctrlTab.SetCurSel(i);
      

  6.   

    Tab不是有一个TCN_SELCHANGE消息,它的响应函数里不是要写哪个页面是隐藏哪个页面显示吗?
    void XXXDlg::OnSelchangeTab1(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    // TODO: Add your control notification handler code here
    int i=m_theTab.GetCurSel(); switch(i){
    case 0:
    m_colordlg.ShowWindow(SW_SHOW);
    m_fontdlg.ShowWindow(SW_HIDE);
    break;
    case 1:
    m_colordlg.ShowWindow(SW_HIDE);

    m_fontdlg.ShowWindow(SW_SHOW);
    break;
    ...................................

    }
    .......................
    }
    你SetCurSel之后应该还要写哪个页面是隐藏哪个页面显示的代码:
    m_theTab.SetCurSel(1);
    m_colordlg.ShowWindow(SW_HIDE);
    m_colordlg1.ShowWindow(SW_HIDE);
    m_fontdlg.ShowWindow(SW_SHOW);
      

  7.   

    主要是在按钮里得到tab的指针,不知道你程序的结构。
    可以试下2楼的方法
    要不就改成 ((定义tab控件的类名*)GetParent())->m_tab.SetCurSel();
      

  8.   

    2楼的可以切换标签了 但是界面不能显示
    谁能解释下
    ((CMyTabCtrl*)GetParent())->SetCurSel();
    语法什么意思 *是指针吗
      

  9.   

    SetCurSel(int nItem)是切换标签页的具体的界面显示还是得根据标签页的不同显示/隐藏各窗口。。 参见6L。。至于((CMyTabCtrl*)GetParent())->SetCurSel(); 属性页的父窗口为TabCtrl,GetParent()为CWnd*型的。。强制转换为CMyTabCtrl才可用SetCurSel()。。
      

  10.   

    http://www.vckbase.com/document/viewdoc/?id=398
      

  11.   

    2楼正解 ((CMyTabCtrl*)GetParent())->SetCurSel();
      

  12.   

    void CViewSet::OnTcnSelchangeTabMenuSet(NMHDR *pNMHDR, LRESULT *pResult)
    {
    // TODO: Add your control notification handler code here
            //Page0,Page1,Page2是你每个Tab关联的类,比如是Dialog0,Dialog1,Dialog2
    int CurSel;
    CurSel=m_MyTab.GetCurSel();
    switch(CurSel)
    {
    case 0:
    Page0.ShowWindow(TRUE);
    Page1.ShowWindow(FALSE);
    Page2.ShowWindow(FALSE);
    Page0.SetFocus();
    break;
    case 1:
    Page0.ShowWindow(FALSE);
    Page1.ShowWindow(TRUE);
    Page2.ShowWindow(FALSE);
    Page1.SetFocus();
    break;
    case 2:
    Page0.ShowWindow(FALSE);
    Page1.ShowWindow(FALSE);
    Page2.ShowWindow(TRUE);
    Page2.SetFocus();
    break;
    default: ;
    }
    *pResult = 0;
    }