在窗体的OnDraw中添加如下代码
         CWnd* pstatic = GetDlgItem(IDC_STATIC_INTER);
pstatic->GetWindowRect(&graphRect);
ScreenToClient(&graphRect);
InterGraph->DrawGraph(pDC, graphRect);
InterGraph是从CStatic派生的一个画图控件,DrawGraph函数相当于画图。问题在,当这个窗体有滚动条时,滚动窗体时,控件的刷新跟不上,将上述代码拷贝一份到OnScroll中,则控件本身没问题,但滚动时控件滚动过的地方没有刷新不知道头绪,请指点

解决方案 »

  1.   

    Invalidate
    或者
    InvalidateRect试过没
      

  2.   

    to lianglp()
       举例:背景是灰色的,控件是白色的。滚动前,我们看见的区域是控件,滚动后,看见的区域是背景,它应该是灰色的,但它还是白的。反过来就不存在问题。to lixiaosan
       在OnScroll中加过Invalidate,感觉除屏幕闪烁外没有改进:)
      

  3.   

    你的视图背景是否没有处理呢???
    或者DrawGraph(pDC, graphRect);有问题,他把父窗口的背景也画掉了。
      

  4.   

    视图背景没有处理。DrawGraph肯定是把父窗口的背景也画掉了。
    那么在那,如何恢复背景呢?