beginPaint 函数 (winuser.h)

BeginPaint 函数准备用于绘制的指定窗口,并使用有关绘制的信息填充 PAINTSTRUCT 结构。

语法

HDC BeginPaint(
  [in]  HWND          hWnd,
  [out] LPPAINTSTRUCT lpPaint
);

参数

[in] hWnd

要重新绘制的窗口的句柄。

[out] lpPaint

指向将接收绘制信息的 PAINTSTRUCT 结构的指针。

返回值

如果函数成功,则返回值是指定窗口的显示设备上下文的句柄。

如果函数失败,则返回值为 NULL,指示没有可用的显示设备上下文。

注解

BeginPaint 函数会自动设置设备上下文的剪辑区域,以排除更新区域之外的任何区域。 更新区域由 InvalidateRectInvalidateRgn 函数以及系统在调整大小、移动、创建、滚动或影响工作区的任何其他操作后设置。 如果更新区域标记为要擦除, BeginPaint 会将 WM_ERASEBKGND 消息发送到窗口。

应用程序不应调用 BeginPaint ,除非响应 WM_PAINT 消息。 对 BeginPaint 的每个调用都必须具有对 EndPaint 函数的相应调用。

如果插入点位于要绘制的区域, BeginPaint 会自动隐藏插入点以防止擦除它。

如果窗口的 类具有背景画笔, 则 BeginPaint 使用该画笔在返回之前擦除更新区域的背景。

DPI 虚拟化

此 API 不参与 DPI 虚拟化。 返回的输出始终以物理像素为单位。

示例

有关示例,请参阅 在工作区中绘图

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 在 Windows 8) 中引入的 ext-ms-win-ntuser-draw-l1-1-0 (

另请参阅

EndPaint

InvalidateRect

InvalidateRgn

PAINTSTRUCT

绘制和绘制函数

绘画和绘图概述

ValidateRect

ValidateRgn