VB声明 | ||
Declare Function RedrawWindow Lib "user32" Alias "RedrawWindow" (ByVal hwnd As Long, lprcUpdate As RECT, ByVal hrgnUpdate As Long, ByVal fuRedraw As Long) As Long | ||
说明 | ||
根据fuRedraw旗标的设置,重画全部或部分窗口 | ||
返回值 | ||
Long,非零表示成功,零表示失败。会设置GetLastError | ||
参数表 | ||
参数 | 类型及说明 | |
hwnd | Long,要重画的窗口的句柄。零表示更新桌面窗口 | |
lprcUpdate | RECT,窗口中需要重画的一个矩形区域 | |
hrgnUpdate | Long,一个“区”的句柄,这个区描述了要重画的窗口区域。“区”:Region | |
fuRedraw | Long,规定具体重画操作的旗标。下列常数可组合使用,从而进行复杂的重画行动 | |
RDW_ERASE | 重画前,先清除重画区域的背景。也必须指定RDW_INVALIDATE | |
RDW_FRAME | 如非客户区包含在重画区域中,则对非客户区进行更新。也必须指定RDW_INVALIDATE | |
RDW_INTERNALPAINT | 即使窗口并非无效,也向其投递一条WM_PAINT消息 | |
RDW_INVALIDATE | 禁用(屏蔽)重画区域 | |
RDW_NOERASE | 禁止删除重画区域的背景 | |
RDW_NOFRAME | 禁止非客户区域重画(如果它是重画区域的一部分)。也必须指定RDW_VALIDATE | |
RDW_NOINTERNALPAINT | 禁止内部生成或由这个函数生成的任何待决WM_PAINT消息。针对无效区域,仍会生成WM_PAINT消息 | |
RDW_VALIDATE | 检验重画区域 | |
RDW_ERASENOW | 立即删除指定的重画区域 | |
RDW_UPDATENOW | 立即更新指定的重画区域 | |
RDW_ALLCHILDREN | 重画操作包括子窗口(前提是它们存在于重画区域) | |
RDW_NOCHILDREN | 重画操作排除子窗口(前提是它们存在于重画区域) | |
注解 | ||
如针对桌面窗口应用这个函数,则应用程序必须用RDW_ERASE旗标重画桌面 |