更新时间:2024-02-28 19:58
InvalidateRgn函数通过添加一个区域到一个窗口的更新区域中来使指定矩形的客户区域无效;这个无效的区域和所有更新区域中的其他区域将被标记用来在下一个WM_PAINT消息发生的时候描绘。
BOOL InvalidateRgn
HWND hWnd, // 窗口的句柄
HRGN hRgn, // 区域的句柄
BOOL bErase // 擦除状态
参数:
hWnd:[输入]更新区域被修改的窗口HANDLE
hRgn:[输入]被添加到更新区域的区域HANDLE;这个区域被假定有一个客户区坐标。如果这个参数是NULL,整个客户区都被添加进更新区域。
bErase:[输入]说明当更新区域被处理的时候更新区域内的背景是否要擦除。如果这个参数是TRUE,当BeginPaint函数被调用的时候背景将被擦除,如果参数是FALSE,背景不会改变。
返回值:
返回值总是非0。
备注:
无效的区域被累积,直到下个WM_PAINT消息被处理或着通过ValidateRect或ValidateRgn来使区域变有效。
系统发送一个WM_PAINT消息给到一个窗口,无论窗口的更新区域是不是空的,有没有其他的消息在窗口的应用程序队列中。
指定的区域必须已经通过一个区域函数创建了。
如果更新区域中任何部分的bErase参数是TRUE,整个区域的背景都被擦除,而不是指定的那部分。