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


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