Обновление региона за измененным размером окна - PullRequest
0 голосов
/ 14 июля 2009

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

Не будучи программистом с графическим интерфейсом, я могу пройти по непокрытой области и перечислить в ней окна. Затем я могу попросить каждого из них перекрасить свою часть. Но я совершенно уверен, что должен быть лучший способ сделать это ...

Стоит отметить, что приложение написано в PowerBuilder. Это означает, что я могу вызывать любую функцию Win32, какую захочу, но иметь ограниченный контроль над поведением графического интерфейса и обработкой сообщений. Если есть лучший способ предотвратить изменение размера содержимого окна или способ сделать окно без перерисовки чистым после себя, я бы хотел это услышать (просто помните об ограничениях выше).

1 Ответ

0 голосов
/ 27 июля 2009

Мне интересно, в какой версии PowerBuilder вы работаете? Я все время изменяю размеры и никогда не сталкиваюсь с проблемами, которые вы описываете.

Возможно, вы сможете подробнее рассказать о том, почему вам нужно установить для перерисовок значение false в среде PowerBuilder.

Надеюсь, я смогу помочь.

...