beginPaint 函数 (winuser.h)
BeginPaint 函数准备用于绘制的指定窗口,并使用有关绘制的信息填充 PAINTSTRUCT 结构。
语法
HDC BeginPaint(
[in] HWND hWnd,
[out] LPPAINTSTRUCT lpPaint
);
参数
[in] hWnd
要重新绘制的窗口的句柄。
[out] lpPaint
指向将接收绘制信息的 PAINTSTRUCT 结构的指针。
返回值
如果函数成功,则返回值是指定窗口的显示设备上下文的句柄。
如果函数失败,则返回值为 NULL,指示没有可用的显示设备上下文。
注解
BeginPaint 函数会自动设置设备上下文的剪辑区域,以排除更新区域之外的任何区域。 更新区域由 InvalidateRect 或 InvalidateRgn 函数以及系统在调整大小、移动、创建、滚动或影响工作区的任何其他操作后设置。 如果更新区域标记为要擦除, 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 ( |