你用什么image控件?是VC还是VB的

解决方案 »

  1.   

    完全依靠控件效果恐怕不会好。看看这篇文章,希望有所帮助。
    如何避免闪烁
    在知道图形显示闪烁的原因之后,对症下药就好办了。首先当然是去掉MFC
    提供的背景绘制过程了。实现的方法很多,
    * 可以在窗口形成时给窗口的注册类的背景刷付NULL
    * 也可以在形成以后修改背景
    static CBrush brush(RGB(255,0,0));
    SetClassLong(this->m_hWnd,GCL_HBRBACKGROUND,(LONG)(HBRUSH)brush);
    * 要简单也可以重载OnEraseBkgnd(CDC* pDC)直接返回TRUE
    这样背景没有了,结果图形显示的确不闪了,但是显示也象前面所说的一样,
    变得一团乱。怎么办?这就要用到双缓存的方法了。双缓冲就是除了在屏幕上有
    图形进行显示以外,在内存中也有图形在绘制。我们可以把要显示的图形先在内存中
    绘制好,然后再一次性的将内存中的图形按照一个点一个点地覆盖到屏幕上去(这个
    过程非常快,因为是非常规整的内存拷贝)。这样在内存中绘图时,随便用什么反差
    大的背景色进行清除都不会闪,因为看不见。当贴到屏幕上时,因为内存中最终的图形
    与屏幕显示图形差别很小(如果没有运动,当然就没有差别),这样看起来就不会闪。
      

  2.   

    我出个注意(我的猜想):
    在拖动前调用 LockWindowUpdate
    完成后调用  UnlockWindowUpdate
    我没用过,你试试吧!!