RedrawWindow

RedrawWindow

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旗标重画桌面

Top