我有一个基于文档 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在无效之后和绘画之前返回。

10-02 05:37