Quando (e como) organizar os filhos de uma janela do Win32 em resposta a um redimensionamento?

O Windows envia várias mensagens quando uma janela é redimensionada:

WM_GETMINMAXINFOWM_ENTERSIZEMOVEWM_EXITSIZEMOVEWM_NCCALCSIZEWM_SIZINGWM_SIZEWM_WINDOWPOSCHANGINGWM_WINDOWPOSCHANGED

e possivelmente mais.

Se eu quiser reposicionar as crianças quando minha janela for redimensionada,Onde ecomo devo fazer isso?
Eu estou procurando o "melhor" método - ou seja, o método com o menor número de pegadas emenos cintilação.

Minhasatual método é realizar todo o reposicionamento dentroWM_NCCALCSIZEusandoDeferWindowPos.
No entanto, eu também tentei lidar com isso dentroWM_WINDOWPOSCHANGED... mas não importa onde eu lide com isso, parece que hásempre finalmente1 "momento" quando a janela é pintada em um estado intermediário, onde o tamanho da janela mudou, mas seu conteúdo ainda não foi redimensionado.

Outro efeito que eu fariaAlém disso gostaria de evitar: mover uma criançadepois de já se moveu. Não quero que o usuário veja um controle deslizando para baixo e, em seguida,de volta por causa da minha mudança - deve ter o mínimo de efeitos transitórios possíveis.

Estou fazendo isso corretamente? Existe um lugar melhor para colocar as crianças da janela?

questionAnswers(1)

yourAnswerToTheQuestion