在 MFC(Microsoft Foundation Classes)中,CWnd::SetRedraw 不是 CWnd 类的公共方法。也许你对方法名称有一些混淆,或者有特定的需求。

如果你想要控制窗口的重绘过程,MFC 提供了 CWnd::SetRedraw 方法,但这是一个受保护的方法,通常在派生类中使用。它用于暂时禁用或启用窗口的重绘,以提高性能。
void SetRedraw(BOOL bRedraw);

  •  bRedraw 参数是一个布尔值,如果为 TRUE,则允许窗口重绘;如果为 FALSE,则禁用窗口的重绘。


使用示例:
// 假设 pWnd 是一个指向 CWnd 对象的指针
pWnd->SetRedraw(FALSE);  // 禁用重绘

// 执行对窗口的一系列操作,修改窗口内容

pWnd->SetRedraw(TRUE);   // 启用重绘,窗口将在这一点上进行重绘
pWnd->Invalidate();      // 强制窗口重绘

上述代码中,通过调用 SetRedraw(FALSE) 可以禁用窗口的重绘,然后在对窗口进行修改后,再调用 SetRedraw(TRUE) 来启用重绘,最后通过 Invalidate 强制窗口进行重绘。这样可以避免在多次修改窗口内容时不必要的重绘操作,提高性能。


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