У нас довольно сложный графический интерфейс, поэтому при изменении размеров некоторых окон их Redraw () устанавливается в false до завершения операции. Проблема в том, что если установлен параметр ОС «Показывать содержимое окна при перетаскивании», то при уменьшении размера окна окна за ним не перекрашиваются. Это означает, что я вынужден перерисовывать себя так, чтобы остатки измененного размера окна были удалены. У меня нет проблем с получением размеров региона, который был раскрыт. То, что я ищу, - лучший способ заставить все окна в этом регионе перекрашивать свою часть.
Не будучи программистом с графическим интерфейсом, я могу пройти по непокрытой области и перечислить в ней окна. Затем я могу попросить каждого из них перекрасить свою часть. Но я совершенно уверен, что должен быть лучший способ сделать это ...
Стоит отметить, что приложение написано в PowerBuilder. Это означает, что я могу вызывать любую функцию Win32, какую захочу, но иметь ограниченный контроль над поведением графического интерфейса и обработкой сообщений. Если есть лучший способ предотвратить изменение размера содержимого окна или способ сделать окно без перерисовки чистым после себя, я бы хотел это услышать (просто помните об ограничениях выше).