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


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

Функция BeginPaint подготавливает указанное окно для рисования и заполняет структуру PAINTSTRUCT сведениями о покраски.

Синтаксис

HDC BeginPaint(
  [in]  HWND          hWnd,
  [out] LPPAINTSTRUCT lpPaint
);

Параметры

[in] hWnd

Дескриптор окна для перерисовки.

[out] lpPaint

Указатель на структуру PAINTSTRUCT , которая будет получать сведения о рисовании.

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

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

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

Комментарии

Функция BeginPaint автоматически задает обрезную область контекста устройства, чтобы исключить любую область за пределами области обновления. Область обновления задается функцией InvalidateRect или InvalidateRgn и системой после изменения размера, перемещения, создания, прокрутки или любой другой операции, которая влияет на клиентскую область. Если область обновления помечена для стирания, BeginPaint отправляет в окно сообщение WM_ERASEBKGND .

Приложение не должно вызывать BeginPaint , кроме как в ответ на сообщение WM_PAINT . Каждый вызов BeginPaint должен иметь соответствующий вызов функции EndPaint .

Если курсор находится в области, которой нужно закрашивать, BeginPaint автоматически скрывает курсор, чтобы предотвратить ее стирание.

Если класс окна имеет фоновую кисть, BeginPaint использует ее для удаления фона области обновления перед возвратом.

Виртуализация DPI

Этот API не участвует в виртуализации DPI. Возвращаемые выходные данные всегда отображаются в физических пикселях.

Примеры

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

Требования

Требование Значение
Минимальная версия клиента 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)

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

EndPaint

InvalidateRect

InvalidateRgn

PAINTSTRUCT

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

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

ValidateRect

ValidateRgn