WM_SETREDRAW сообщение

Сообщение WM_SETREDRAW отправляется в окно, чтобы разрешить перерисовку изменений в этом окне или предотвратить перерисовку изменений в этом окне.

Чтобы отправить это сообщение, вызовите функцию SendMessage со следующими параметрами.

SendMessage(
  (HWND) hWnd,
  WM_SETREDRAW,
  (WPARAM) wParam,
  (LPARAM) lParam
);

Параметры

wParam

Состояние перерисовки. Если этот параметр имеет значение TRUE, содержимое может быть перерисовано после изменения. Если этот параметр имеет значение FALSE, содержимое не может быть перерисовано после изменения.

lParam

Этот параметр не используется.

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

Приложение должно вернуть значение 0, если оно обрабатывает это сообщение.

Комментарии

Это сообщение может быть полезно, если приложение должно добавить несколько элементов в список. Приложение может вызвать это сообщение с параметром wParam со значением FALSE, добавить элементы, а затем снова вызвать сообщение с параметром wParam , равным TRUE. Наконец, приложение может вызывать RedrawWindow(hWnd, NULL, NULL, RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_ALLCHILDREN) для перерисовки списка.

Примечание

Вместо InvalidateRect следует использовать RedrawWindow с указанными флагами, так как первый необходим для некоторых элементов управления, которые имеют собственную неклиентную область или стили окон, которые приводят к присвоению им неклиентской области (например, WS_THICKFRAME, WS_BORDER или WS_EX_CLIENTEDGE). Если элемент управления не имеет неклиентской области, то RedrawWindow с этими флагами будет делать только такую же недействительность, как InvalidateRect .

Передача сообщения WM_SETREDRAW функции DefWindowProc удаляет стиль WS_VISIBLE из окна, если wParam имеет значение FALSE. Хотя содержимое окна остается видимым на экране, функция IsWindowVisible возвращает значение FALSE при вызове для окна в этом состоянии.

Передача сообщения WM_SETREDRAW функции DefWindowProc добавляет стиль WS_VISIBLE в окно, если он не задан, если wParam имеет значение TRUE. Если приложение отправляет сообщение WM_SETREDRAW с параметром wParamсо значением TRUE в скрытое окно, окно становится видимым.

Windows 10 и более поздних версий; Windows Server 2016 и более поздних версий. Система задает свойство с именем SysSetRedraw в окне, оконная процедура которого передает WM_SETREDRAW сообщения в DefWindowProc. Вы можете использовать функцию GetProp , чтобы получить значение свойства, когда оно доступно. GetProp возвращает ненулевое значение, если перерисовка отключена. GetProp возвращает ноль, если перерисовка включена или если свойство окна не существует.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Заголовок
Winuser.h (включая Windows.h)

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