Функция BeginPaint готовит заданное окно к окрашиванию и заполняет структуру PAINTSTRUCT информацией об окрашивании.
HDC BeginPaint( HWND hwnd, // дескриптор окна LPPAINTSTRUCT lpPaint // информация об окрашивании ); |
[in] Дескриптор окна, которое будет перекрашено.
lpPaint[out] Указатель на структуру PAINTSTRUCT, которая получит информацию об окрашивании.
Если функция завершается успешно, возвращаемое значение - дескриптор контекста устройства отображения для заданного окна.
Если функция завершается ошибкой, возвращаемое значение - NULL, которое указывает, что никакой контекст устройства (DC) отображения не доступен.
Windows NT/2000/XP: Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError.
Функция BeginPaint автоматически заставляет регион отсечения контекста устройства исключать любую область вне обновляемого региона. Обновляемый регион устанавливается функцией InvalidateRect или InvalidateRgn и системой после установки размеров, перемещения, создания, прокрутки или любой другой операции, которая воздействует на клиентскую (рабочую) область. Если обновленный регион отмечен для стирания, BeginPaint отправляет окну сообщение WM_ERASEBKGND.
Приложение не должно вызвать функцию BeginPaint, кроме как в ответ на сообщение WM_PAINT. У каждого вызова BeginPaint должен быть соответствующий вызов функции EndPaint.
Если каретка находится в области, которая будет окрашиваться, BeginPaint автоматически скрывает каретку, чтобы воспрепятствовать её стиранию.
Если у класса окна есть фоновая кисть, BeginPaint использует эту кисть, чтобы стереть фон обновленного региона, перед тем как его вернуть на экран.
Пример смотри в статье Рисование в рабочей области.
Обзор Окрашивание и рисование, Функции окрашивания и рисования, EndPaint, InvalidateRect, InvalidateRgn, PAINTSTRUCT, ValidateRect, ValidateRgn
Размещение и совместимость BeginPaint |
||
| К | 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 | - | |
| Замечания по платформе | Не имеется | |