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

以下是该方法的基本信息:
BOOL Invalidate(BOOL bErase = TRUE);

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


返回值:

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


使用示例:
CWnd* pWnd = ...;  // 通过某种方式获取 CWnd 对象的指针

if (pWnd->Invalidate())
{
    // 使窗口区域无效,并请求重新绘制
}
else
{
    // 使窗口无效失败
}

通过调用 Invalidate 方法,您可以通知系统窗口区域已经过时,需要重新绘制。这在数据发生变化时,需要刷新界面时非常有用。请注意,Invalidate 仅仅标记窗口为无效,而不会立即导致重绘。系统将在处理消息队列时进行重绘。


转载请注明出处:http://www.zyzy.cn/article/detail/23508/MFC/CWnd