捐助郴维网
感谢您对郴维网的支持,你的支持将是郴维网持续发展的动力!
二维码
×
当前位置:郴维网 >API档案 > 正文
29 2017.05

WM_PAINT 消息

点击次数:1236 更新时间:2017-5-29 9:57:14  【打印此页

原文链接 -> 传送门

消息含义:

当系统或其他应用程序要求绘制应用程序窗口的一部分时, WM_PAINT 消息将被发送。当 UpdateWindow 或 RedrawWindow 函数被调用时,该消息也将被发送。或者,当应用程序通过使用的 GetMessagePeekMessage 函数获得 WM_PAINT 消息时,该消息通过 DispatchMessage 函数发送。

一个窗口通过它的 WindowProc 函数接收该消息。


消息定义:

#define WM_PAINT                        0x000F



参数解析:

wParam:这个参数不使用。

lParam:这个参数不使用。


返回值

如果一个应用程序处理此消息,它会返回 0。


备注:

1. WM_PAINT 消息由系统生成,并且不应由应用程序进行发送。要强制一个窗口绘制成特定的设备环境,使用 WM_PRINT 或 WM_PRINTCLIENT 消息。注意,这需要目标窗口支持 WM_PRINTCLIENT 消息。大多数控件都支持 WM_PRINTCLIENT 消息。

2. DefWindowProc 函数验证更新区域。如果窗框必须绘制,该函数还可以发送 WM_NCPAINT 消息给窗口程序。如果必须删除窗口背景,该函数将发送 WM_ERASEBKGND 消息。

3. 当应用程序的消息列表中没有其他消息,系统将发送此消息。DispatchMessage 函数决定向何处发送消息;GetMessage 函数决定分配哪个消息。当应用程序的消息列表中没有其他消息,GetMessage 函数将返回 WM_PAINT 消息,且 DispatchMessage 函数将发送消息给合适的窗口程序。

4. 当调用 RedrawWindow函数且 RDW_INTERNALPAINT 标志被设置时,窗口可能会收到内部消息。在这种情况下,窗口可能没有更新区域。应用程序可以调用 GetUpdateRect 函数来确定窗口是否有一个更新的区域。如果 GetUpdateRect 函数返回 0,应用程序不需要调用 BeginPaintEndPaint 函数。

5. 应用程序必须通过查看每个 WM_PAINT 消息其内部数据结构,以检查任何必要的内部绘制,因为 WM_PAINT 消息可能是由非空更新区域和调用 RedrawWindow 函数且 RDW_INTERNALPAINT 标志被设置引起的。

6. 系统仅发送一次内部 WM_PAINT 消息。在内部 WM_PAINT 消息从 GetMessagePeekMessage 函数返回之后,或由 UpdateWindow 函数发送到窗口后,系统不会进一步发送 WM_PAINT 消息,直到窗口无效或直到再次调用 RedrawWindow 函数且 RDW_INTERNALPAINT 标志被设置。

7. 对于一些常用的控件,默认 WM_PAINT 消息处理检查 wParam 参数。如果 wParam 参数非 NULL,控制假设值是 HDC 并且使用该设备环境进行绘制。


需求:

Minimum supported client

Windows 2000 专业版 [仅桌面应用程序]

Minimum supported server

Windows 2000 服务器版 [仅桌面应用程序]

Header

Winuser.h (包含于 Windows.h)



 

提示
郴维网为您提供各类专业服务:
软件开发,电脑配件销售,WIFI路由器销售,上门电脑维修,上门安装系统,系统安装,软、硬件安装,电脑除尘清灰,显示器维修,WIFI安装调试,服务器维护,数据恢复,密码破解,网络布线,网络检修,打印机维修,打印机加碳粉,苹果电脑安装系统,苹果电脑安装双系统,监控安装维护,电脑外包,笔记本电脑维修,餐饮、美容行业软件安装 等。。。。。。
点击次数:1236 更新时间:2017-5-29 9:57:14  【打印此页

上一条:Beep

下一条:WM_MOVE 消息

关键词推荐:郴州电脑城 郴州电脑维修公司 维修电脑公司 郴州软件开发 上门电脑维修 上门安装系统 笔记本电脑维修 郴州打印机维修 打印机加碳粉 电脑安装双系统 苹果电脑双系统 液晶显示器维修 联想笔记本维修 联想笔记本维修电话 戴尔笔记本维修电话 郴州戴尔笔记本维修 戴尔笔记本郴州维修点 华硕笔记本维修点 郴州华硕笔记本维修 郴州笔记本上网维修