windows API一日一学(2)---InvalidateRect函数

InvalidateRect函数

该函数添加一个区域到指定窗口的更新区域。更新区域代表窗口客户端的一部分,这部分必须进行重新绘制。

BOOL InvalidateRect( 

HWND hWnd, 

const RECT *lpRect, 

BOOL bErase

);

参数:

hWnd

指向需要重新绘制的窗口句柄。如果该参数为空,系统将更新和重新绘制所有的窗口,然后在该函数返回之前发送WM_ERASEBKGND给窗口过程.

lpRect

一个指向RECT的结构体,该结构包含了要添加到更新区域的长方形区域的坐标。如果该参数为NULL,整个客户端区域将会被添加到更新区域。

bErase

该参数为布尔型。指定了当更新区域重新绘制时,更新区域的背景是否被擦除掉。

返回值

函数执行成功时返回非零, 失败时返回零。要获取更多的关于错误的信息,可以调用GetLastError();

注意事项

参数hWnd不能为NULL

无效区域不会马上更新,相反会在更新区域“累积”,直到当下一个WM_PAINT消息发生时或者该区域已经被ValidateRect函数更新过。

当应用程序队列中没有其他的消息时,并且更新区域不为空时,系统将向窗口发送WM_PAINTA消息 。如果bErase为TRUE,则整个背景将会被擦除,而不是给定的区域。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值