Compartir a través de


Ventanas cambiadas de tamaño

El sistema cambia el tamaño de una ventana cuando el usuario elige comandos de menú de ventana, como Size y Maximize, o cuando la aplicación llama a funciones, como la función SetWindowPos. Cuando una ventana cambia el tamaño, el sistema supone que el contenido de la parte expuesta anteriormente de la ventana no se ve afectado y no es necesario volver a dibujar. El sistema invalida solo la parte recién expuesta de la ventana, lo que ahorra tiempo cuando la aplicación procesa el mensaje WM_PAINT final. En este caso, WM_PAINT no se genera cuando se reduce el tamaño de la ventana.

Para algunas ventanas, cualquier cambio en el tamaño de la ventana invalida el contenido. Por ejemplo, una aplicación de reloj que adapta la cara del reloj para ajustarse perfectamente dentro de su ventana debe volver a dibujar el reloj cada vez que cambia el tamaño de la ventana. Para forzar que el sistema invalide todo el área de cliente de la ventana cuando se realiza un cambio vertical, horizontal o vertical y horizontal, una aplicación debe especificar el estilo CS_VREDRAW o CS_HREDRAW, o ambos, al registrar la clase de ventana. Cualquier ventana que pertenezca a una clase de ventana que tenga estos estilos se invalida cada vez que el usuario o la aplicación cambian el tamaño de la ventana.