我有一个基于文档 View 框架的MFC代码。我使用Document类中的UpdateAllViews(nullptr,0,nullptr)来调用View的OnDraw成员函数。
void MyDocumentClass::MyFunction()
{
//.. Document code to create and process data
UpdateAllViews(nullptr,0,nullptr) // Invokes OnDraw
// When does program control reach this line?
}
我的问题是,请告诉我UpdateAllViews函数是阻止还是非阻止,程序控制何时到达UpdateAllViews()旁边的行?它是在OnDraw()中的所有代码完成执行之后到达的,还是更快到达的?
最佳答案
UpdateAllViews是一个非阻塞函数,它仅调用每个 View 的OnUpdate。 OnUpdate函数通常会使 View 无效,这将在以后导致OnDraw。 UpdateAllViews在无效之后和绘画之前返回。