¿Cuándo (y cómo) colocar a los hijos de una ventana de Win32 en respuesta a un cambio de tamaño?

Windows envía varios mensajes cuando se cambia el tamaño de una ventana:

WM_GETMINMAXINFOWM_ENTERSIZEMOVEWM_EXITSIZEMOVEWM_NCCALCSIZEWM_SIZINGWM_SIZEWM_WINDOWPOSCHANGINGWM_WINDOWPOSCHANGED

y posiblemente más.

Si me gustaría reubicar a los niños cuando se cambia el tamaño de mi ventana,dónde ycómo ¿Debo hacerlo?
Estoy buscando el "mejor" método, es decir, el método con el menor número de gotcha y elmenos parpadeo.

Micorriente El método es realizar todo el reposicionamiento interior.WM_NCCALCSIZE, utilizandoDeferWindowPos.
Sin embargo, también he intentado manejarlo dentro.WM_WINDOWPOSCHANGED... pero no importa donde lo maneje, parece que haysiempre al menosuno "momento" cuando la ventana se pinta en un estado intermedio, donde el tamaño de la ventana ha cambiado, pero su contenido aún no se ha redimensionado.

Otro efecto lo haríaademás Como evitar: mover a un niñodespués ya se ha movido No quiero que el usuario vea un control deslizándose hacia abajo y luegoatrás debido a mi cambio, debería tener la menor cantidad de efectos transitorios posibles.

¿Estoy haciendo esto correctamente? ¿Hay algún lugar mejor donde pueda colocar a los niños de la ventana?

Respuestas a la pregunta(1)

Su respuesta a la pregunta