解决方案 »

  1.   

    我原本也觉得应当先弹出OnInitialUpdate,后弹出OnDraw.但无意中发现在VS2010中运行的结果是先OnDraw,后OnInitialUpdate,而在VC++6.0中运行的结果符合先OnInitialUpdate,后OnDraw.你可以试试,两者编译器有区别,求原因.
      

  2.   

    首先你找到OnInitialUpdate是在哪里调用的,OnInitialUpdate应该是OnCreate之后调用的,OnCreate的时候可能会发出WM_PAINT动作,可以在OnCreate里SetRedraw(FALSE)试试
      

  3.   

    在OnCreate()中加SetRedraw(FALSE)后依然不行
      

  4.   

    其实如果是我写程序的话,我根本不怎么关系谁第一谁第二,你可以加个变量保证数据初始化好再执行OnDraw的逻辑就行,谁先谁后其实不是太大问题。
      

  5.   

    是的,有个资源在我OnInitialUpdate()函数中初始化,然后再在OnDraw()函数中利用,程序失败。但是如果把初始化语句放在OnCreate()函数中,则程序顺利运行。而上述的差异在VC++6.0中是不存在的。