MFC UpdateAllViews是阻止还是非阻塞?

The*_*ere 4 c++ mfc multithreading document-view c++11

我有一个基于Document 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? 
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,请告诉我UpdateAllViews函数是阻塞还是非阻塞,程序控制何时到达UpdateAllViews()旁边的行?在OnDraw()中的所有代码完成执行后,它是否到达那里,或者它是否会更快到达那里?

Sco*_*MVP 6

UpdateAllViews是一个非阻塞函数,只调用每个视图的OnUpdate.OnUpdate函数通常使视图无效,这将导致稍后的OnDraw.UpdateAllViews在无效之后和绘画之前返回.