Функция 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 использует ее для удаления фона области обновления перед возвратом.
Этот 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) |