18 сент. 2010 г.

BeginPaint

Функция BeginPaint подготавливает указанное окно к окрашиванию и заполняет структуру PAINTSTRUCT информацией об окрашивании.
HDC BeginPaint(
    HWND hwnd,   // дескриптор окна
    LPPAINTSTRUCT lpPaint // адрес структуры для информации об окрашивании  
   );
Параметры:
hwndУказывает на перерисовываемое окно.
lpPaintАдрес структуры PAINTSTRUCT, которая получает информацию об окрашивании.

Возвращаемые значения:
Если функция успешна, возвращается дескриптор контекста устройства экрана для указанного окна.
Если произошла ошибка, возвращается NULL, указывая что дескриптор контекста устройства недоступен.
Замечания:
Функция BeginPaint автоматически устанавливает область отсечения контекста устройства для исключения любой модификации вне области модификации. Область модификации устанавливается функцией InvalidateRect или InvalidateRgn или системой после операций, воздействующих на клиентскую область. Если область модификации отмечена для стирания, BeginPaint посылает окну сообщение WM_ERASEBKGND. Эта функция специально предназначена для обработки сообщения WM_PAINT. Каждый вызов функции должен иметь соответствующий вызов функции EndPaint. Если курсор находится в обновляемой области, BeginPaint автоматически его скрывает, предотвращая его стирание. Функция использует фоновую кисть класса, если она определена.
Смотрите также:
EndPaint, InvalidateRect, InvalidateRgn, ValidateRectValidateRgnPAINTSTRUCT