Una duda sobre VC++

kasper
01 de Abril del 2004
La duda es como sigue:

Estoy haciendo un programa parecido a un Paint de Windows. Ahora supongamos un rectangulo R pintado en la pantalla y que vamos a arrastrar con el raton.

Lo que yo hago para conseguir este efecto segun vamos arrastrandolo, es invalidar el rectangulo ocupado por R en su ultima posicion y pintar R en la nueva posicion.

O sea que si X,Y es la posicion de R en la pantalla, W es el ancho, H el alto de R y X2,Y2 el punto donde mover R, la cosa queda:

InvalidateRect( CRect( CPoint(X,Y), CSize(W,H) ), TRUE )
FrameRect( CRect( CPoint(X2,Y2), CSize(W,H) ) )

Bueno, pues con esto consigo un muy feo efecto de parpadeo.

¿Alguna idea para evitar este parpadeo?

Muchas gracias




navisoft
01 de Abril del 2004
Puedes buscar como hacer el double buffering

googlea "Double buffering" Visual C++