Я хочу, чтобы мое окно всегда поддержало определенное отношение скажем, 1.33333333. Так, если окно width = 800, height = 600
и пользователь изменяет ширину на 600, я хочу изменить высоту на 450 автоматически.
Я уже прерываю WM_SIZE
но я не знаю, достаточно ли это; также я не знаю, как изменить ширину или высоту для поддержания моего отношения.
WM_SIZING отправляется окну, пока пользователь изменяет размер окна.
Скорее дескриптор WM_WINDOWPOSCHANGING - это отправляется внутренней функцией SetWindowPos, когда код (или пользователь) изменяет размер окна и гарантирует, что даже операции мозаики и каскадирования подчиняются вашей политике изменения размера.
См. WM_SIZING
: http://msdn.microsoft.com/en-us/library/ms632647.aspx
Обработка этого сообщения позволяет вам изменить итоговый размер окна.
Попробуйте событие Изменить размер . Вот пример того, как поддерживать желаемое соотношение сторон в ссылке.