2011-10-05 70 views
0

我使用VS2008中的向导创建了一个没有文档/视图的MFC SDI应用程序。 我想使用两个CEditView将默认创建的CChildView的子控件替换为拆分器。创建工作,但我输入任何字符到编辑视图时,应用程序崩溃。如何在MFC中的框架内创建和使用CView继承的对象?

  1. 为什么会发生死机?
  2. 如何解决崩溃?
  3. 如何访问已创建视图的实例?

MainFrame.h:

class MainFrame : public CFrameWnd 
{ 
    public: 
     virtual BOOL OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext); 
    private: 
     CSplitterWnd splitter; 
    // ... 
}; 

MainFrame.cpp

BOOL MainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
{ 
    splitter.CreateStatic(this, 1, 2); 
    splitter.CreateView(0, 0, RUNTIME_CLASS(CEditView), CSize(0, 0), pContext); 
    splitter.CreateView(0, 1, RUNTIME_CLASS(CEditView), CSize(0, 0), pContext); 

    return TRUE; 
} 

回答