我在vc6.0的向导的步骤下建立的MFC单文档程序,有新建了2个类VIEW1,VIEW2 都继承于CEditView,
现在是把CMainFrame分成2块,一块显示VIEW1,一块显示VIEW2,
在CMainFrame的OnCreateClient()中写的的代码如下:
(窗口的大小是600,600)
CSplitterWnd splt;(这个没有用类继承自CSplitterWnd ,直接用这个对象,在头文件中定义的)
splt.CreateStatic(this,1,2);
splt.CreateView(0,1,RUNTIME_CLASS(view1),CSize(300,300),pContext);
splt.CreateView(0,0,RUNTIME_CLASS(view2),CSize(300,300),pContext);
 问题1:
为什么这样写之后呢,程序运行屏幕的分屏不显示,代码没有错误!
如果有错或者代码不全的,请详细说明,谢谢
 问题:
  在一个就是新建一个类CSplitterWndEX 继承于CSplitterWnd ,在VC6.0的类向导中不能这样写,写一直报一些很奇怪的错 误?

解决方案 »

  1.   

    在CMainFrame类中:
      CSplitterWnd m_wndSplitter;
    在OnCreateClient函数中:
       if (!m_wndSplitter.CreateStatic(this,1,2))
    return false;
    if (!m_wndSplitter.CreateView(0,0,RUNTIME_CLASS(CFormLeft),CSize(150,100),pContext) ||
    !m_wndSplitter.CreateView(0,1,RUNTIME_CLASS(CFormRight),CSize(100,100),pContext))
    {
    m_wndSplitter.DestroyWindow();
    return false;
    }
    //CFormLeft CFormRight 为切分的两类名
      

  2.   

    窗口创建时并没有尺寸,要改变窗口尺寸应该在OnSize()中进行
      

  3.   

    新建的类VIEW 中 貌似还要定义一个什么样宏 ---
      

  4.   

    CSplitterWnd splt;这个splt不能作为局部变量,必须要作为成员变量!才行!
    局部变量,你函数执行完了,你的这个变量也就没有生命了!
      

  5.   

    1楼的方法代码我也写过,就是执行后不能显示,
     
    VisualEleven 说的可能是对的,我的这个CSplitterWnd splt 是个局部变量,是不行的,执行完酒结束了
    我在试试