Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения
KANSoftWare

Временно запретить форме перерисовываться

Delphi , Программа и Интерфейс , Формы

Временно запретить форме перерисовываться

Автор: Danny Thorpe (Borlandeer)

Danny Thorpe (Borlandeer) посоветовал мне способ избежать использования LockWindowUpdate и, соответственно, избежать излишнего мерцания экрана. Во многих случаях более эффективным способом будет посылка сообщения WM_SETREDRAW, позволяющая блокировать/разблокировать форму, не затрагивая при этом остальные окна.

Так, чтобы временно запретить форме перерисовываться, необходим следующий код:


Perform(WM_SETREDRAW, 0, 0);

... и, чтобы возвратиться к нормальному состоянию:


Perform(WM_SETREDRAW, 1, 0);
Refresh;

Программный код на Delphi предназначен для временного прекращения перерисовки формы. Автор кода, Дэнни Торп (Borlandeer), рекомендует использовать этот подход вместо LockWindowUpdate, который может вызывать мерцание на экране.

Сообщение WM_SETREDRAW отправляется окну для уведомления о необходимости перерисовки его клиентской области. Отправляя это сообщение с аргументом 0, форма временно остановит свою перерисовку. Для возврата к нормальному состоянию необходимо отправить это сообщение снова с аргументом 1 и затем вызвать метод Refresh.

Вот код:

Perform(WM_SETREDRAW, 0, 0); // Prevent form from being redrawn

// ... some operations ...

Perform(WM_SETREDRAW, 1, 0); // Allow form to be redrawn again
Refresh; // Force the form to be refreshed

Этот подход более эффективен, потому что он не блокирует обновление клиентских областей других окон.

Автор Danny Thorpe предложил использовать функцию WM_SETREDRAW для временного запрета перерисовки формы, что позволяет блокировать или разблокировать форму без влияния на другие окна.


Комментарии и вопросы


Ваше мнение или вопрос к статье в виде простого текста (Tag <a href=... Disabled). Все комментарии модерируются, модератор оставляет за собой право удалить непонравившейся ему комментарий.

заголовок

e-mail

Ваше имя

Сообщение

Введите код




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Формы ::


реклама



©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru Rambler's Top100

Время компиляции файла: 2024-05-19 17:53:24
2024-05-19 18:02:08/0.0067069530487061/2