我分割窗口构造了两个类,一个CTreeForm类,一个CListView类(ActiveWnd),但是初始化函数时有错误,我跟踪了下,发现是先运行CTreeForm类的OnInitialUpdate函数的问题,怎么才能先运行CFormView类的初始化函数呢?

解决方案 »

  1.   

    没太明白。是不是这样:
    CTreeForm类的OnInitialUpdate中调用父类
    CFormView::OnInitialUpdate。
      

  2.   

    你的初始化代码有问题,把检查CFormView类的初始化的代码放在frame的OnCreate里面,View创建之后
      

  3.   

    初始化函数本身的问题,估计是你的错误的代码导致调用顺序的改变
    再检查下
    顺便了解下windows的消息传送机制
      

  4.   

    你代码结构不是很好MFC的Doc/View结构各视图之间尽量独立,应该通过Doc类进行联系,而不应该直接联系
    因此,你的各视图的OnInitialUpdate对顺序有要求已经说明你的程序结构不好
      

  5.   

    LZ是不是在写代码的时候,把CFormView的代码删除了,或者写在后面了?
    一般的情况下,都有这样的一句代码:CFromView::OnInitialUpdate();
    你可以把这段代码添加在TREEView实现的最前面,然后再编译,看看可以吗?