Поделиться через


Функция LockWindowUpdate (winuser.h)

Функция LockWindowUpdate отключает или включает рисование в указанном окне. Одновременно можно заблокировать только одно окно.

Синтаксис

BOOL LockWindowUpdate(
  [in] HWND hWndLock
);

Параметры

[in] hWndLock

Окно, в котором будет отключено рисование. Если этот параметр имеет значение NULL, рисование в заблокированном окне включено.

Возвращаемое значение

Если функция выполняется успешно, возвращается ненулевое значение.

Если функция завершается сбоем, возвращаемое значение равно нулю, что означает, что произошла ошибка или другое окно уже заблокировано.

Комментарии

Функция LockWindowUpdate предназначена для того, чтобы обратная связь перетаскивания отображалась в окне без вмешательства самого окна. Цель заключается в том, что окно блокируется при получении обратной связи и разблокируется после завершения обратной связи. LockWindowUpdate не предназначен для подавления перерисовки окна общего назначения. Используйте сообщение WM_SETREDRAW , чтобы отключить перерисовку определенного окна.

Если приложение с заблокированным окном (или любым заблокированным дочерним окном) вызывает функцию GetDC, GetDCEx или BeginPaint , вызываемая функция возвращает контекст устройства с видимой областью, которая является пустой. Это происходит до тех пор, пока приложение не разблокирует окно, вызвав LockWindowUpdate, указав значение NULL для hWndLock.

Если приложение пытается рисовать в заблокированном окне, система записывает экстент попытки операции в ограничивающий прямоугольник. Когда окно разблокировано, система делает недействительной область в этом ограничивающем прямоугольнике, заставляя в конечном итоге WM_PAINT сообщение отправляться в ранее заблокированное окно и его дочерние окна. Если во время обновления окна не было выполнено ни разу, ни область не становится недействительной.

LockWindowUpdate не делает указанное окно невидимым и не очищает бит стиля WS_VISIBLE.

Не удается переместить заблокированное окно.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header winuser.h (включая Windows.h)
Библиотека User32.lib
DLL User32.dll
Набор API ext-ms-win-ntuser-draw-l1-1-2 (представлено в Windows 10 версии 10.0.10240)

См. также раздел

BeginPaint

GetDC

GetDCEx

Функции рисования и рисования

Общие сведения о рисовании и рисовании

WM_PAINT