CWnd::BeginPaint

CWnd 用于绘制准备并用有关绘制的信息来加载 PAINTSTRUCT 数据结构。

CDC* BeginPaint( 
   LPPAINTSTRUCT lpPaint  
);

参数

  • lpPaint
    指向 PAINTSTRUCT 是获取绘图信息的结构。

返回值

标识 CWnd的设备上下文。 指针可能是瞬态的,不应存储超过 EndPaint的范围。

备注

绘制结构包含具有最小矩形完全封闭更新区域和标志指定的一种 RECT 数据结构是否清除了背景。

更新区域由 无效InvalidateRect设置,也 InvalidateRgn 成员函数和由系统,在该行的大小后,移动,创建,滚动或执行影响工作区的其他操作。 如果更新区域中清除标记为,BeginPaint 发送 WM_ONERASEBKGND 信息。

不要调用除响应 WM_PAINT 消息的 BeginPaint 成员函数。 每个调用 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 Class