我对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/