在初始分隔四个视图,然后左上视图是树状结构,通过节点改变左下和右下视图;;;;左下视图可以输入数字,并在右下视图中textout显示出来。可是,我发现根本显示不出来,查了一下,发现没有关联到document。但是一般view创建后,不是自动关联到document吗?请问我这个该如何关联呢,代码如下:mainframe.cpp
void CMainFrame::SwitchToView(int nViewType)
{
CView* pView = (CView*)m_wndSplitter1.GetPane(1, 0);
//  CRect rcRight, rcFrame;
//  pView->GetClientRect(&rcRight);
//  GetClientRect(&rcFrame);
CRect rt;
GetClientRect(&rt);
switch (nViewType)
{ case ViewD: //CListPaneView
{
 if (!pView->IsKindOf(RUNTIME_CLASS(CViewD)))
  {
m_wndSplitter1.DeleteView(1, 0);
m_wndSplitter1.CreateView(1, 0, RUNTIME_CLASS(CViewD),
CSize(rt.Width() / 5, rt.Height() / 10), NULL);
m_wndSplitter1.RecalcLayout();
/* m_pLefBottomView = (CViewC*)m_wndSplitter.GetPane(1, 0);*/
m_wndSplitter2.DeleteView(1, 0);
m_wndSplitter2.CreateView(1, 0, RUNTIME_CLASS(CViewD),
CSize(rt.Width() * 4 / 5, rt.Height() / 10), NULL);
m_wndSplitter2.RecalcLayout();
/* m_pLefBottomView = (CViewC*)m_wndSplitter.GetPane(1, 1);*/
  }
 break;
}
case ViewC: //CEditPaneView
{
if (!pView->IsKindOf(RUNTIME_CLASS(CViewC)))
{
//删除旧的视图
m_wndSplitter1.DeleteView(1, 0);
//创建新的视图
m_wndSplitter1.CreateView(1, 0, RUNTIME_CLASS(CViewC),
CSize(rt.Width() / 5, rt.Height() / 10), NULL);
//调整分布
m_wndSplitter1.RecalcLayout();
/*m_pLefBottomView = (CViewC*)m_wndSplitter.GetPane(1, 0);*/
m_wndSplitter2.DeleteView(1, 0);
m_wndSplitter2.CreateView(1, 0, RUNTIME_CLASS(CViewB),
CSize(rt.Width() * 4 / 5, rt.Height() / 10), NULL);
m_wndSplitter2.RecalcLayout();
/* m_pLefBottomView = (CViewC*)m_wndSplitter.GetPane(1, 1);*/
}
 break;
} default:
break;
}}
右下角视图:
void CViewB::OnDraw(CDC* pDC)
{
CKnifeTestDoc *pDoc = (CKnifeTestDoc *)this->GetDocument();
pDC->TextOut(100, 10, pDoc->m_docstr1);
pDC->TextOut(250, 10, pDoc->m_docstr2);
.....
}左下角的视图参数可以保存到doc中,但是右下角视图没有关联到document是哪里出问题了呢?诚心感谢~