我创建了三个类,
一个是class CAdv : public CHtmlView
一个是class infoscrol : public CScrollView
一个是class CMyView : public CListView在主框架MainFrame.cpp中,创建一行二列窗口,
BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext *pContext)
{//分割2X1窗口,左边二行,右边一列
    CRect rect;
    GetClientRect(&rect);
    if(m_wndSplitter1.CreateStatic(this,1,2)==NULL) return FALSE;
    m_wndSplitter1.CreateView(0,0,RUNTIME_CLASS(CMytoolView),CSize(rect.Width()/2,rect.Height()),pContext);
 (a)   m_wndSplitter1.CreateView(0,1,RUNTIME_CLASS(infoscrol),CSize(rect.Width()/2,rect.Height()),pContext);用这句运行正常(b)   m_wndSplitter1.CreateView(0,1,RUNTIME_CLASS(CAdv),CSize(rect.Width()/2,rect.Height()),pContext);用这句运行就出错
   return TRUE;
}
问题,用(a)句,程序运行正常,但只要用(b)句,程序运行就出错。这是怎么回事?这两句完全一致,只是infoscrol与CAdv的基类不同,CAdv派生于 CHtmlView类,难道不能CreateView CHtmlView类吗???
高手请帮忙!

解决方案 »

  1.   

    三分视图就不是你这样做的,这样你这是出来的是一行两列,所以你第三个报错。给你一个做三分视图的教程,自己去看http://hi.baidu.com/%C1%D2%D1%E6_%BD%BE%D1%F4/blog/item/a15fd61fdc0224c1a7866980.html
      

  2.   

    debug模式下运行出错,realease模式下运行可以,但程序退出时会出错
      

  3.   

    我这次没做三分视图,就做一行二列的。
    主要问题是,
    用(a)句,程序运行正常,但只要用(b)句,程序运行就出错。这是怎么回事?这两句完全一致,只是infoscrol与CAdv的基类不同,CAdv派生于 CHtmlView类,难道不能CreateView CHtmlView类吗??? 
      

  4.   

    CreateView CHtmlView 应该能
      

  5.   

    GetSafeHwnd(),DEBUG检查对象指针,看看是不是空或CCCCCC,
      

  6.   

    我重新创建,还是出错,程序窗口出不来,我按F5,运行一下出现提示,user breakpoint called from code at 0x7c92120e,这是怎么回事啊???