我用CSplitterWnd把一个窗口分成三部分。分别是treeview,listview和richeditviewif (!m_wndSplitter1.CreateView(0, 0, RUNTIME_CLASS(COutbarView), CSize(100, 300), pContext) 
||!m_wndSplitter1.CreateView(0, 1, RUNTIME_CLASS(COutlookStyleUIView), CSize(500, 100), pContext) 
||!m_wndSplitter1.CreateView(0, 2, RUNTIME_CLASS(CMailEditView), CSize(100, 100), pContext) 
)
   return FALSE;可是现在我想把CMailEditView用一个继承自chtmlview的类替换,为什么总是报错“Failed to create empty document"我的类都是用mfc类想到生成的啊

解决方案 »

  1.   

    http://www.vckbase.com/code/listcode.asp?mclsid=5&sclsid=507
      

  2.   

    在COutbarView类的声明前加上文档类的声明.class CYouDoc;
      

  3.   

    如果你前面是:
    if (!m_wndSplitter1.Create(this, 1, 3))
    ...
    当我没看到。
    不过这样是一列三行,估计不是你要的。下面的代码实现的是左面一列,右面一列两行:加上类成员变量CSplitterWnd m_wndSplitter2;在OnCreateClient()里:
    if (!m_wndSplitter1.CreateView(0, 0, RUNTIME_CLASS(COutbarView), CSize(100, 300), pContext)
    ...
    if (!m_wndSplitter2.Create(&m_wndSplitter1, 2, 1, CSize(0, 0), pContext, WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL, AFX_IDW_PANE_FIRST + 1) 
    ...
    if (!m_wndSplitter2.CreateView(0, 0, RUNTIME_CLASS(COutlookStyleUIView), CSize(500, 100), pContext) || !m_wndSplitter2.CreateView(1, 0, RUNTIME_CLASS(CMyHtmlView), CSize(100, 100), pContext))
    ...
      

  4.   

    经过测试发现,如果CMailEditView继承自cricheditview,ceditview,cformview,则均无问题。
    如果继承自chtmlview,chtmleditview,则会报错"Failed to create empty document"
    为什么呢