使用如下函数创建tab,但是tab显示出来是有3D边框的,导致tab上贴的图片和主窗口的不能衔接,如何设置能去掉这个边框?
bool CMyTab::CreateTabWnd(CWnd * pParentWnd, UINT uWndID)
{
//建立窗口
if (Create(AfxRegisterWndClass(CS_DBLCLKS|CS_HREDRAW|CS_VREDRAW,
   AfxGetApp()->LoadStandardCursor(IDC_ARROW),
   (HBRUSH)GetStockObject(NULL_BRUSH),NULL),
   NULL,WS_VISIBLE|WS_CLIPCHILDREN|WS_CLIPSIBLINGS,
   CRect(0,0,0,0),pParentWnd,uWndID,NULL)==FALSE)
   return false; SetClassLong(m_hWnd,GCL_HBRBACKGROUND,NULL);
return true;
}

解决方案 »

  1.   

    tab控件是公共控件库里面的固有窗口类型,不需要RegisterWndClass,直接使用类名“SysTabControl32"创建窗口即可,或者使用封装的CTabCtrl类来Create
      

  2.   


    在指定窗口属性时,不要加【WS_BORDER】,具体查【MSDN】。
      

  3.   

    先在你的dlg中定义一个变量m_TabCtrlm_TabCtrl.Create(TCS_TABS | TCS_FIXEDWIDTH | WS_CHILD | WS_VISIBLE,
       CRect(50,50,300,300), this, IDC_TAB1);更加详细的参见MSDN CTabCtrl::Create
      

  4.   

    设置WS_EX_CLIENTEDGE的扩展属性。需要create
      

  5.   

    lz为何要自定义CMyTab类,使用固有的CTabCtrl类不满足要求么?