我写了个小的SDI的程序,分为两视图
新加入视图类CInputView(继承于CView类)
      文档类CInputDoc(继承于CDocument类)
现在我想要把这两个类联系起来,能在分出的第二个视图(InputView)上显示输入。总是没有成功,请大侠给点意见,资料。如果只有单视图的话,可以实现,现在就是搞不请新加入的视图类和文档类怎么去联系起来(有点罗索):),先谢谢了~~~!

解决方案 »

  1.   

    这要看你新加入的视图是否与CDocument有关联。即你是如果添加新视图的。
    文档类一般是存储对象,视图类则一般从文档类读取对象通过OnDraw显示出来。
    一般新增视图是通过调用文档的AddView来添加的,这样文档视图就关联上了。
      

  2.   

    我新加入的视图目的是为了能获取我的输入数据,比如我输入s00命令 然后回车
    能在我另一个视图里显示出运行结果,而新加入的视图显示我刚刚的输入这里就是s00了加新视图是用CreateView实现的
      

  3.   

    文档类有一个就可以了。CMainFrame::OnCreateClient()
    时会自动把文档与两个视图联系起来的。
    public:
    CSplitterWnd m_wndSplitter;BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT /*lpcs*/,
    CCreateContext* pContext)
    {
    BOOL result = m_wndSplitter.CreateStatic(this, 1, 2); result |= m_wndSplitter.CreateView(0, 0, RUNTIME_CLASS(CInputView), CSize(150, 100), pContext);

    result |= m_wndSplitter.CreateView(0, 1, RUNTIME_CLASS(CYourView), CSize(100, 100), pContext);
    m_wndSplitter.SetActivePane(0, 1);
    return result;
    }
    在CInputView(从CFormView继承)设定事件,首先UpdateData()来保存变量,
    通过GetParent()->m_wndSplitter.GetPane(0,1)得到CYourView指针。
    要怎么调用就随你了。