阅读量:1
在Windows中,InvalidateRect函数用于指示窗口或控件的区域无效并请求重新绘制。其函数原型如下:
BOOL InvalidateRect( HWND hWnd, // 窗口句柄 const RECT *lpRect, // 指向要无效的矩形区域的指针,如果为NULL则无效整个窗口 BOOL bErase // 指定是否擦除背景,TRUE为擦除,FALSE为不擦除 );
使用InvalidateRect函数的一般步骤如下:
- 获取窗口句柄(hWnd)。
- 创建一个RECT结构体,指定要无效的矩形区域的左上角和右下角的坐标。如果要无效整个窗口,可以将lpRect参数设置为NULL。
- 调用InvalidateRect函数,传入窗口句柄、RECT结构体指针和擦除标志位(TRUE或FALSE)作为参数。
示例代码如下:
// 获取窗口句柄 HWND hWnd = GetSafeHwnd(); // 创建一个RECT结构体,无效整个窗口 RECT rect; GetClientRect(hWnd, &rect); // 调用InvalidateRect函数,擦除背景 InvalidateRect(hWnd, &rect, TRUE);
以上代码将无效整个窗口并请求重新绘制,擦除背景。