BOOL CMyTab::Create(int sx,int sy,CWnd *pParent, UINT nID)
{
    CString szClassName = AfxRegisterWndClass(0x843,LoadCursor(NULL,IDC_ARROW),0,0);    CRect rect(sx,sy,sx+540,sy+430);    if(!CWnd::CreateEx(0,szClassName,_T(""),WS_CHILD|WS_VISIBLE,rect,pParent,nID))
return FALSE;// CRgn m1,m2;
// m1.CreateRectRgn(0,0,540,430);
// m2.CreateRectRgn(500,0,540,30);
// m1.CombineRgn(&m1,&m2,RGN_XOR);
// SetWindowRgn(m1,true);
// m1.DeleteObject();
// m2.DeleteObject();    UpdateWindow();
 
return TRUE;
}

解决方案 »

  1.   

    TAB控件是增加page后才出现你要的效果的。AddPage,管理子窗口。选择某个子窗口时,将子窗口的位置覆盖到TAB控件显示区范围
      

  2.   

    Tab控件的内容用单独的窗口显示,就是说一个tab对应一个窗口,响应tab的点击事件,用来切换不同的窗口以显示不同的内容
      

  3.   

    抱歉,没有代码,其实不难的,多看看MSDN里面关于tab控件的说明
      

  4.   

    楼主是想要这样子的么:m_TabCtrl.Create(TCS_TABS | TCS_FIXEDWIDTH | WS_CHILD | WS_VISIBLE|TCS_BOTTOM,
       rect, this, IDC_MYTAB);
      

  5.   

    m_TabCtrl.SetLocation (CMFCTabCtrl::LOCATION_BOTTOM);//Tab标签在底部 
    m_TabCtrl.SetLocation (CMFCTabCtrl::LOCATION_TOP);//Tab标签在顶部 
    m_TabCtrl.RecalcLayout (); 
    m_TabCtrl.RedrawWindow (); 
      

  6.   


    BOOL CMyTab::Create(int sx,int sy,CWnd *pParent, UINT nID)
    {
        CString szClassName = AfxRegisterWndClass(0x843,LoadCursor(NULL,IDC_ARROW),0,0);    CRect rect(sx,sy,sx+540,sy+430);    if(!CWnd::CreateEx(0,szClassName,_T(""),TCS_TABS | TCS_FIXEDWIDTH | WS_CHILD | WS_VISIBLE|TCS_BOTTOM,rect,pParent,nID))
    return FALSE; CRgn m1,m2;
    m1.CreateRectRgn(0,0,540,430);
    m2.CreateRectRgn(500,0,540,30);
    m1.CombineRgn(&m1,&m2,RGN_XOR);
    SetWindowRgn(m1,true);
    m1.DeleteObject();
    m2.DeleteObject();    UpdateWindow();
     
    return TRUE;
    }
    还是不行啊 /发你邮箱了
      

  7.   

    服了你,你这个CMyTab根本不是CTabCtrl,而是从CWnd派生的一个简单窗口类而已,这个要靠你自绘了
      

  8.   

    楼主的CTab根本就没继承CTabCtrl的话,那个TCS_BOTTOM的Style是没有用的。你要呈现出那种效果的话,要自绘,可以联系我,我发楼主一个一样风格的试验品。