Функция InvalidateRect

Функция InvalidateRect добавляет прямоугольник к обновляемому региону заданного окна. Обновляемый регион представляет часть рабочей области окна, которая должна быть перерисована.

Синтаксис

BOOL InvalidateRect(
  HWND hWnd,           // дескриптор окна
  CONST RECT* lpRect,  // координаты прямоугольника
  BOOL bErase          // состояние очистки
);

Параметры

hWnd

[in] Дескриптор окна, обновляемый регион которого изменился. Если этот параметр - NULL, система делает недействительными и перерисовывает все окна, и отправляет сообщения WM_ERASEBKGND и WM_NCPAINT оконной процедуре перед тем, как возвращает значения функцией.

lpRect

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

bErase

[in] Устанавливает, должен ли фон внутри обновляемого региона быть стерт, когда обновляемый регион обрабатывается. Если этот параметр - TRUE, то фон стирается, когда вызывается функция BeginPaint. Если этот параметр - FALSE, фон остается неизменным.

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

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

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

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

Замечания

Ставшие недействительными области накапливаются в обновляемом регионе до тех пор, пока регион не будет обработан при появлении следующего сообщения WM_PAINT или до тех пор, пока у региона не будет проверена достоверность при помощи использования функции ValidateRect или ValidateRgn.

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

Если параметр bErase - TRUE для любой части обновляемого региона, фон стирается во всем регионе, а не только в заданной его части.

Демонстрационный код

Пример смотри в статье Признание недействительной рабочей области.

Смотри также

Обзор Окрашивание и рисование, Функции окрашивания и рисования, BeginPaint, InvalidateRgn, RECT, ValidateRect, ValidateRgn, WM_ERASEBKGND, WM_NCPAINT, WM_PAINT

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

К 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