以下是该方法的基本信息:
BOOL InvalidateRect(LPCRECT lpRect, BOOL bErase = TRUE);
- lpRect:一个指向 RECT 结构的指针,指定要使其无效的矩形区域。如果为 NULL,则整个客户区域将被标记为无效。
- bErase:一个布尔值,指示是否擦除背景。如果为 TRUE,将擦除背景;如果为 FALSE,将保留背景。
返回值:
- 如果成功,返回值为非零;如果失败,返回值为零。
使用示例:
CWnd* pWnd = ...; // 通过某种方式获取 CWnd 对象的指针
RECT rectToInvalidate = {10, 10, 100, 100}; // 示例矩形区域
if (pWnd->InvalidateRect(&rectToInvalidate))
{
// 使指定矩形区域无效,并请求重新绘制
}
else
{
// 使矩形区域无效失败
}
通过调用 InvalidateRect 方法,您可以通知系统指定的矩形区域已经过时,需要重新绘制。与 Invalidate 不同,InvalidateRect 允许您指定要使其无效的具体区域,而不是整个客户区域。请注意,系统将在处理消息队列时进行重绘。
转载请注明出处:http://www.pingtaimeng.com/article/detail/23509/MFC/CWnd