Bien, entonces en mi aplicación, hay un montón de winAPI y algunos controles personalizados. Yay ...Doble buffering winAPI
Ahora, normalmente, se redibujarán silenciosamente para las animaciones, los cambios de estado, etc. ... y todo funciona bien.
Pero tengo un método de clase Window llamado fix(). Esto se llama cuando la ventana completa necesita ser actualizada. Cambia el tamaño de los controles e invalida la ventana.
Cuando esto sucede, se dibuja el fondo, luego el control de pestañas y luego todos los demás en la parte superior. Esto provoca un parpadeo muy irritante, especialmente al cambiar el tamaño de la ventana (debido a las constantes llamadas a la corrección()).
Lo que he intentado:
- WS_EX_COMPOSITED. Esto solo duplica los amortiguadores individuales. Es una mejora, pero el parpadeo inevitablemente permanece.
- Desactivación del dibujo de fondo. Difícilmente resuelve el problema, y en realidad empeora las cosas.
Así que: Necesito una técnica/método/lo que sea que me permita duplicar la ventana en su totalidad. Pensé que manejar el mensaje WM_PAINT podría ser una solución, pero no sabría por dónde empezar. Tengo la horrible sensación de que esto ni siquiera es posible ...
Por favor, ayuda, este es un problema crítico. Me sentiré muy aliviado cuando se solucione este pequeño problema estúpido.
¿Tal vez esta página? http://www.gamedev.net/community/forums/topic.asp?topic_id=411559 –