Изменение размеров окон


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

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

Назад в оглавление
На главную страницу
Переведено 27.12.2010 20:54 ©Copyright V. Sokovikov
Hosted by uCoz