本帖最后由 a8239224 于 2013-09-22 11:29:47 编辑

解决方案 »

  1.   

    你分别在OnMouseMove/OnDraw函数中TRACE出log来看看就清楚会不会走到OnDraw/OnPaint()函数中了吧~
      

  2.   

    我试过了,OnDraw/OnPaint 都会调用,但是CFRAME类中ONSIZE 也被调用了 但是CFRAME 却没有被重绘,VIEW却被重绘了 所以会出现上面的 框框变了 但是镂空的图形没变。  需要重新点击下鼠标 镂空区域才会改变。
     应该是 VIEW更新了 但是FRAME没有更新  所以怎样才能在VIEW中控制FRAME 让其重绘呢
    试过诸如以下方法 没用:
    GetParent()->invalidate();
    GetParent()->updatewindow();
    直接的改变貌似都没有效果 
    但是
    在VIEW中使用 postmessage(wm_mousemove,0,0) 却可以刷新框架,所以想不明白。
      

  3.   

    行了 发现了,原来是ONSIZE中有个一个判断标志m_isstartpaint 在双击事件中我没有添加。。所以它不更新