只有建立sdi时,建立的CVideoView类,我觉得应该建立了!

解决方案 »

  1.   

    用m_wndSplitter.CreateView()建立是类啊,你现在只是分了几份没有填充
      

  2.   

    我在书上看到的都是在MainFrame里面的OnCreateClient函数创建的呀?
      

  3.   

    CMainFrme的CreateClient函数里加入m_wndSplitter->CreateStatic(this, 2, 1);m_wndSplitter->CreateView (0, 0, RUNTIME_CLASS(CMyClass1), CSize(0, 0), pContext);
    m_wndSplitter->CreateView( 1, 0, RUNTIME_CLASS(CMyClass2), CSize(0, 0), pContext);
      

  4.   

    CMainFrme的OnCreateClient函数里加入,刚才打错了,还要在函数结尾处加上return TRUE;
      

  5.   

    再补充一下:在MainFrm.cpp中:#include "MyClass1.h"
    #include "MyClass2.h"这个别忘了,根据你自己的类的名字改就行了.
      

  6.   


    我的代码,仅供参考:
    if (!m_wndSplitter0.CreateStatic(this,1,2))
    {
    TRACE0("Failed to create split bar ");
           return FALSE; 
        }if (!m_wndSplitter0.CreateView(0, 0,
    RUNTIME_CLASS(CCategoryListView), CSize(100, 0), pContext))0D
    {
    TRACE0("Failed to create third pane\n");
    return FALSE;
    }
    return TRUE;
      

  7.   

    谢谢programcat2001,我终于明白了,要填充视图以后才能正确拆分!
      

  8.   

    if (!m_wndSplitter.CreateStatic(this,2,1)){
          TRACE0("Failed to create split bar ");
          return FALSE; // failed to create
        }
    还必须创建视图
    if(!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CYourView1),CSize(150,100),pContext)||!m_wndSplitter.CreateView(1,0,RUNTIME_CLASS(CYourView2),CSize(100,100),pContext))
    {
    m_wndSplitter.DestroyWindow();
    return FALSE;
    }
    return TRUE;
      

  9.   

    我本来想结贴的,我现在还有一个问题,我想先创建m_wndSplitter1.CreateStatic(this,1,2),创建1行,2列,然后,我想把第2列再分为2行,该如何写代码呢?