Функция LockWindowUpdate


Функция LockWindowUpdate запрещает или делает возможным рисование в заданном окне. За один раз, только одно окно может быть блокировано.

Синтаксис

BOOL LockWindowUpdate(
  HWND hWndLock   // дескриптор окна
);

Параметры

hWndLock

[in] Определяет окно, в котором рисование должно быть отключено. Если этот параметр - NULL, рисование в заблокированном окне включено.

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

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

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

Windows NT/2000/XP: Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.

Замечания

Назначение функции LockWindowUpdate - это разрешить, при технологии "перетаскивание" (drag and drop), ответную реакцию, которая будет при рисовании поверх окна без вмешательства непосредственно от окна. Замысел состоит в том, что окно блокируется, когда ответная реакция - рисование и деблокируется, когда ответная реакция завершается. LockWindowUpdate не предназначается для универсальной блокировки перерисовки окна. Используйте сообщение WM_SETREDRAW, чтобы запретить перерисовку конкретного окна.

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

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

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

Блокированное окно не может перемещаться.

Смотри также

Обзор Окрашивание и рисование, Функции окрашивания и рисования, BeginPaint, GetDC, GetDCEx, WM_PAINT

Размещение и совместимость LockWindowUpdate

К Windows Vista Да
л Windows XP Да
и Windows 2000 Professional Да
е Windows NT Workstation Да версии 3.1 и выше
н Windows Me Да
т Windows 98 Да
  Windows 95 Да
С Windows Server 2008 Да
е Windows Server 2003 Да
р Windows 2000 Server Да
в Windows NT Server Да версии 3.1 и выше
е
р
Используемая библиотека User32.lib
Используемая DLL -
Заголовочный файл
- объявлено в Winuser.h
- включено в Windows.h
Unicode -
Замечания по платформе Не имеется

Назад в оглавление
На главную страницу
В оглавление справки

Hosted by uCoz