Временно запретить форме перерисовыватьсяDelphi , Программа и Интерфейс , ФормыВременно запретить форме перерисовыватьсяАвтор: Danny Thorpe (Borlandeer) Danny Thorpe (Borlandeer) посоветовал мне способ избежать использования LockWindowUpdate и, соответственно, избежать излишнего мерцания экрана. Во многих случаях более эффективным способом будет посылка сообщения WM_SETREDRAW, позволяющая блокировать/разблокировать форму, не затрагивая при этом остальные окна. Так, чтобы временно запретить форме перерисовываться, необходим следующий код:
... и, чтобы возвратиться к нормальному состоянию:
Программный код на Delphi предназначен для временного прекращения перерисовки формы. Автор кода, Дэнни Торп (Borlandeer), рекомендует использовать этот подход вместо LockWindowUpdate, который может вызывать мерцание на экране. Сообщение WM_SETREDRAW отправляется окну для уведомления о необходимости перерисовки его клиентской области. Отправляя это сообщение с аргументом 0, форма временно остановит свою перерисовку. Для возврата к нормальному состоянию необходимо отправить это сообщение снова с аргументом 1 и затем вызвать метод Refresh. Вот код:
Этот подход более эффективен, потому что он не блокирует обновление клиентских областей других окон. Автор Danny Thorpe предложил использовать функцию WM_SETREDRAW для временного запрета перерисовки формы, что позволяет блокировать или разблокировать форму без влияния на другие окна. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |