当在窗体中画入图片(如:在WM_PAINT显示一张图片)或加入某些控件后(如:加入LISTVIEW,在WM_SIZE中改变其大小以适应窗口大小变化),每次改变窗口大小时,窗口就严重闪烁,如何解决这个问题?如何才能像MFC框架或VB等其它语言编制的程序那样在改变窗口大小时尽量减小闪烁?

解决方案 »

  1.   

    在WM_PAINT的消息处理中,不要画背景;注册窗口类的时候,设置背景brush等于NULL,调用InvalidateRect的时候最后参数等于FALSE。在WM_PAINT的消息处理中,使用双缓冲区,先画到内存DC中,然后再复制到窗口DC上。
      

  2.   

    我在窗体上画图片是就是画在内存DC中,又复制到窗体DC中的.
    公共控件的闪烁如何解决呢??