Страница 202 из 238
BeginPaint
CDC* BeginPaint(LPPAINTSTRUCT lpPaint);
Возвращаемое значение
Указатель на объект класса контекста устройства, связанного с данным объектом класса
CWnd. Возвращаемый указатель на объект класса контекста устройства может быть временным и не должен уничтожаться до вызова функции
EndPaint.
Аргументы
- lpPaint - указатель на объект структуры PAINTSTRUCT, в которую будет записана информация, необходимая для вывода на экран.
Описание
Данная функция подготавливает объект класса
CWnd к выводу графической информации и соответствующим образом заполняет объект структуры
PAINTSTRUCT. Объект структуры
PAINTSTRUCT содержит объект структуры
RECT, в котором содержатся координаты минимального по размерам прямоугольника, полностью включающего в себя область обновления окна, и флаг, определяющий необходимость уничтожения фона в процессе обновления окна. Область обновления окна устанавливается функциями
Invalidate,
InvalidateRect или
InvalidateRgn или операционной системой при изменении ею размеров окна, его перемещении, осуществлении прокрутки в окне или при проведении ею других операций, приводящих к необходимости обновления рабочей области окна. Если область обновления окна имеет флаг, указывающий на необходимость стирания отображаемой в ней информации, функция
BeginPaint посылает сообщение
WM_ONERASEBKGND. Функция
BeginPaint может вызываться только при обработке сообщения
WM_PAINT. Каждому вызову функции
BeginPaint должен соответствовать вызов функции
EndPaint. Если в области обновления окна располагается текстовый курсор, функция
BeginPaint автоматически его скрывает для того, чтобы он не был уничтожен.