Функция 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) |