Поделиться через


CWnd::BeginPaint

Подготавливает CWnd для рисования и заполняет структуру данных PAINTSTRUCT со сведениями о картине.

CDC* BeginPaint(
   LPPAINTSTRUCT lpPaint 
);

Параметры

  • lpPaint
    Указывает на PAINTSTRUCT составляющие, получить сведения о рисования.

Возвращаемое значение

Определяет контекст устройства для CWnd.Указатель может быть временным и должны храниться вне области EndPaint.

Заметки

Структура paint содержит структуру данных RECT, имеющей наименьший прямоугольник, ограничивающий область обновления полностью и пометить, указывающее, был ли стерт фон.

Область обновления устанавливается Недействительным, InvalidateRect или функции-члены InvalidateRgn и системой после того, как она определяет размер, перемещаются, создают, прокручивают или выполняют любая другая операция, которая влияет на клиентскую область.Если область обновления помечена для стирание, то BeginPaint отправляет сообщение WM_ONERASEBKGND.

Не вызовите функцию-член BeginPaint кроме в ответ на сообщения WM_PAINT.Каждый вызов к функции-члену BeginPaint должен иметь соответствующий вызов метода EndPaint функции-члену.Если курсор находится в области для рисования, функция-член BeginPaint автоматически скрывает курсор для предотвращения его от стертым.

Пример

// Use BeginPaint and EndPaint when responding to WM_PAINT message
// An alternative method is to use CPaintDC in place of 
// BeginPaint and EndPaint
void CMdiView::OnPaint() 
{
   PAINTSTRUCT ps;
   CDC* pDC = BeginPaint(&ps);

   pDC->Rectangle(CRect(0, 0, 100, 100));

   EndPaint(&ps);

   // Do not call CView::OnPaint() for painting messages
}

Требования

Header: afxwin.h

См. также

Ссылки

Класс CWnd

Диаграмма иерархии

CWnd::EndPaint

CWnd::Invalidate

CWnd::InvalidateRgn

BeginPaint

Класс CPaintDC