我对C++中的窗口函数有一点怀疑。"invalidate()"函数到底做什么?
它发送什么消息?何时需要调用此消息?还有"update()"函数是什么?"invalidaterect()"的工作方式类似于"invalidate()"函数吗?

谢谢

最佳答案

CWnd::Invalidate() 使窗口的整个客户区域无效,这表明该区域已过期,应重新粉刷。通常,您需要在需要重绘的控件上调用它。 CWnd::InvalidateRect() 仅使窗口的一部分无效。

使用Invalidate函数,将发布WM_PAINT消息[并非严格正确;请参阅注释]到消息队列,并在将来的某个时候进行处理。 CWnd::UpdateWindow() 发送(而不是发布)一条WM_PAINT消息,从而使无效区域立即被重绘。

真的,这一切都在文档中。

关于c++ - 什么是无效的,更新方法在VC++中执行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2183649/

10-09 13:10