Поделиться через


Изменение размера Windows

Система изменяет размер окна при выборе пользователем команд меню окна, таких как "Размер" и "Развернуть", или при вызове функций приложения, таких как функция SetWindowPos. При изменении размера окна система предполагает, что содержимое ранее предоставленной части окна не затрагивается и не требуется перезапустить. Система отменяет только недавно предоставленную часть окна, которая экономит время, когда окончательное WM_PAINT сообщение обрабатывается приложением. В этом случае WM_PAINT не создается при уменьшении размера окна.

В некоторых окнах любое изменение размера окна недопустимо содержимого. Например, приложение часов, которое адаптирует лицо часов, чтобы точно соответствовать в окне, должно перерисовывать часы всякий раз, когда окно изменяет размер. Чтобы принудить систему к недопустимости всей клиентской области окна при создании вертикального, горизонтального или горизонтального изменения, приложение должно указать стиль CS_VREDRAW или CS_HREDRAW или оба при регистрации класса окна. Любое окно, принадлежащее классу окна с этими стилями, является недействительным каждый раз, когда пользователь или приложение изменяет размер окна.