2012-06-20 12 views

Respuesta

5

ShowWindow no vuelve a pintar la ventana. La llamada al UpdateWindow envía el mensaje WM_PAINT a la ventana y, por lo tanto, vuelve a pintarlo.

7

Es completamente innecesario, su ventana pintará sin ella.

Verá un beneficio menor si su programa se apaga haciendo muchas cosas después de crear la ventana pero antes de ingresar al ciclo de mensajes. El usuario tiene algo que ver. Una pantalla de bienvenida es el enfoque más típico.

4

Normalmente, el sistema envía WM_PAINT solo si la cola de mensajes está vacía. En circunstancias normales, esto es lo suficientemente bueno y en realidad optimiza una gran cantidad de repintes innecesarios. Los mensajes en la cola a menudo cambiarán el estado de la aplicación que a menudo puede dar como resultado la invalidación de una parte de la ventana y, por lo tanto, dar como resultado otra pintura (para que el usuario vea el nuevo estado de la aplicación). Entonces el repintado simplemente sucede después de que se manejan todos esos mensajes y el sistema cree que el contenido de la nueva ventana será válido por un tiempo (hasta que otro mensaje (s) entre en la cola).

Sin embargo, si necesita forzar el WM_PAINT inmediatamente y eludir la lógica anterior, puede forzar el envío de WM_PAINT (si hay una región no válida) llamando al UpdateWindow().

Cuestiones relacionadas