我的做法是首先创建一个CMyDoc和一个CMyScorllview。然后用下面的代码在我要嵌入的Formview的OnInitialUpdate函数种加入:
void CMyFormView::OnInitialUpdate() 
{
CFormView::OnInitialUpdate();

// TODO: Add your specialized code here and/or call the base class
CCreateContext pContext;
CWnd* pFrameWnd = this;
pContext.m_pCurrentDoc = new CMyDoc;
pContext.m_pNewViewClass = RUNTIME_CLASS(CMyScorllview);
CMyScorllview *pView =(CMyScorllview*) ((CFrameWnd*)pFrameWnd)->CreateView(&pContext);
ASSERT(pView);

CRect rectWindow;
CWnd* pwnd = GetDlgItem(IDC_STATIC_CHILDVIEW);
pwnd->GetWindowRect(rectWindow); 
ScreenToClient(rectWindow);
pView->MoveWindow(rectWindow);
pView->ShowWindow(SW_NORMAL);
}
运行程序报错,显示一个assert错误。
why?

解决方案 »

  1.   

    错误界面见:http://blog.csdn.net/lijingze2003/gallery/image/17187.aspx
      

  2.   

    CFormView就是从CScrollView继承的啊
      

  3.   

    我想在CScrollview里画图,外面那层Cformview放一些其他的控件,为什么会说到他们的继承关系呢?
      

  4.   

    建议先去看一下“深入了解MFC中的文挡/视结构”这篇文章,用百度就能搜到。
    要嵌套使用视图的话最好用切分窗口。
    直接嵌套带来的麻烦还不如去想其它办法,因为文档视图结构中,视图的父窗口只能是FrameWnd,其他窗口类型不认(切分窗口除外)。