Функция InvalidateRect (winuser.h)
Функция InvalidateRect добавляет прямоугольник в область обновления указанного окна. Область обновления представляет часть клиентской области окна, которую необходимо перерисовыть.
Синтаксис
BOOL InvalidateRect(
[in] HWND hWnd,
[in] const RECT *lpRect,
[in] BOOL bErase
);
Параметры
[in] hWnd
Дескриптор для окна, область обновления которого была изменена. Если этот параметр имеет значение NULL, система делает недействительными и перерисовывает все окна, а не только окна для этого приложения, и отправляет сообщения WM_ERASEBKGND и WM_NCPAINT перед возвратом функции. Не рекомендуется задавать для этого параметра значение NULL .
[in] lpRect
Указатель на структуру RECT , содержащую клиентские координаты прямоугольника, добавляемого в область обновления. Если этот параметр имеет значение NULL, в регион обновления добавляется вся клиентская область.
[in] bErase
Указывает, следует ли удалять фон в регионе обновления при обработке области обновления. Если этот параметр имеет значение TRUE, фон удаляется при вызове функции BeginPaint . Если этот параметр имеет значение FALSE, фон остается неизменным.
Возвращаемое значение
Если функция выполняется успешно, возвращается ненулевое значение.
Если функция выполняется неудачно, возвращается нулевое значение.
Комментарии
Недействительные области накапливаются в области обновления до тех пор, пока регион не будет обработан при следующем сообщении WM_PAINT или пока регион не будет проверен с помощью функции ValidateRect или ValidateRgn .
Система отправляет WM_PAINT сообщение в окно всякий раз, когда его область обновления не пуста и в очереди приложений для этого окна нет других сообщений.
Если параметр bErase имеет значение TRUE для любой части области обновления, фон удаляется во всем регионе, а не только в указанной части.
Примеры
Пример см. в разделе О недопустимости клиентской области.
Требования
Минимальная версия клиента | 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-0 (появилось в Windows 8) |