马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
注:本文档由 Diu 翻译,小甲鱼校对。
原文链接 -> 传送门
函数功能:
RedrawWindow 函数用于更新窗口客户区指定的矩形或区域。
API 函数原型:
注释:_In_ 说明该参数是输入的。BOOL RedrawWindow(
_In_ HWND hWnd,
_In_ const RECT *lprcUpdate,
_In_ HRGN hrgnUpdate,
_In_ UINT flags
);
参数解析:
参数 | 含义 | hWnd | 1. 指向将被重绘的窗口的句柄
2. 如果该参数为 NULL,则更新桌面窗口 | lprcUpdate | 1. 指向 RECT 结构的指针,该结构包含更新矩形在设备单位上的坐标
2. 如果 hrgnUpdate 参数标志一个区域,则该参数将被忽略 | hrgnUpdate | 1. 指向更新区域的指针
2. 如果 hrgnUpdate 和 lprcUpdate 参数都为 NULL,则整个客户区将被添加到更新区域 | flags | 1. 一个或多个重绘标识
2. 该参数可以使窗口变得无效或者有效,控制重绘,以及控制 RedrawWindow 函数影响的窗口
3. 下列的标识用来使窗口无效:
标识(无效) | 描述 | RDW_ERASE | 使得当窗口被重绘时,窗口接受一条 WM_ERASEBKGND 消息。RDW_INVALIDATE 标识必须同时被指定,否则 RDW_ERASE 无效 | RDW_FRAME | 使得任何与更新区域相交的非客户区域接受一条 WM_NCPAINT 消息。RDW_INVALIDATE 标识必须同时被指定,否则 RDW_FRAME 无效。WM_NCPAINT 消息通常在 RedrawWindow 函数的执行过程中不会被发送,除非指定了 RDW_UPDATENOW 或 RDW_ERASENOW | RDW_INTERNALPAINT | 使得一条 WM_PAINT 消息被传递给窗口而不管窗口的任何部分是否有效 | RDW_INVALIDATE | 使 lprcUpdate 或 hrgnUpdate 参数无效(只有一个可能为非空)。如果都为 NULL,则整个窗口将无效 |
4. 下列标识用来使窗口有效:
标识(有效) | 含义 | RDW_NOERASE | 取消所有挂起的 WM_ERASEBKGND 消息 | RDW_NOFRAME | 取消所有挂起的 WM_NCPAINT 消息。该标识必须与 RDW_VALIDATE 同时使用,并且通常与 RDW_NOCHILDREN 一同使用。应该小心使用 RDW_NOFRAME,因为它可能造成重绘的窗口部分区域绘制不正确 | RDW_NOINTERNALPAINT | 取消所有挂起的内部 WM_PAINT 消息。该标识不会影响从一个非空更新区域产生的 WM_PAINT 消息 | RDW_VALIDATE | 使 lprcUpdate 或 hrgnUpdate 有效(只有一个可能为非空)。如果都为 NULL,则整个窗口将有效。该标识不会影响内部 WM_PAINT 消息 |
5. 下列标识控制何时重绘。RedrawWindow 将不会重绘除非指定了这些标识中的某一个:
6. 默认情况下,RedrawWindow 函数影响的窗口取决于是否指定的窗口含有 WS_CLIPCHILDREN 风格。不含有 WS_CLIPCHILDREN 风格的子窗口不会被影响;非 WS_CLIPCHILDREN 窗口将递归的有效或者无效直到出现一个WS_CLIPCHILDREN 窗口。下列的标识控制 RedrawWindow 函数影响的窗口:
标识 | 描述 | RDW_ALLCHILDREN | 如果存在子窗口,重绘操作包括子窗口 | RDW_NOCHILDREN | 如果存在子窗口,重绘操作排除子窗口 |
|
返回值:
1. 如果窗口在此前已被禁用,则返回值为非 0;
2. 如果窗口在此前没有被禁用,则返回值为 0。
备注:
当 RedrawWindow 函数用来使桌面窗口的一部分无效,则桌面窗口不会接收 WM_PAINT 消息。应用程序可以使用 RDW_ERASE 标识来产生一条 WM_ERASEBKGND 消息来重绘桌面。
需求:
Minimum supported client | Windows 2000 专业版[桌面应用程序] | Minimum supported server | Windows 2000 服务器版 [桌面应用程序] | Header | Winuser.h(包含于 Windows.h) | Library | User32.lib | DLL | User32.dll |
【API档案】版权归鱼C工作室(www.fishc.com)所有,转载请注明来源。
|