CWnd::InvalidateRgn 是 MFC(Microsoft Foundation Classes)中的 CWnd 类的公共方法之一,用于使指定的区域无效,从而请求重新绘制该区域。

以下是该方法的基本信息:
BOOL InvalidateRgn(CRgn* pRgn, BOOL bErase = TRUE);

  •  pRgn:一个指向 CRgn 对象的指针,指定要使其无效的区域。

  •  bErase:一个布尔值,指示是否擦除背景。如果为 TRUE,将擦除背景;如果为 FALSE,将保留背景。


返回值:

  •  如果成功,返回值为非零;如果失败,返回值为零。


使用示例:
CWnd* pWnd = ...;  // 通过某种方式获取 CWnd 对象的指针
CRgn myRegion;
// 假设在此处为 myRegion 赋值,表示要使其无效的区域

if (pWnd->InvalidateRgn(&myRegion))
{
    // 使指定区域无效,并请求重新绘制
}
else
{
    // 使区域无效失败
}

通过调用 InvalidateRgn 方法,您可以通知系统指定的区域已经过时,需要重新绘制。这允许您更加灵活地指定要刷新的区域,而不仅仅是整个客户区域。请注意,系统将在处理消息队列时进行重绘。


转载请注明出处:http://www.pingtaimeng.com/article/detail/23510/MFC/CWnd