首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OnUpdate()在OnInitialUpdate()之前调用

OnUpdate()在OnInitialUpdate()之前调用
EN

Stack Overflow用户
提问于 2016-01-10 17:13:19
回答 1查看 868关注 0票数 0

我认为OnInitialUpdate()函数在OnUpdate()函数之前调用,但是当我打开文档时,OnInitialUpdate()首先调用,但在这个CView::OnInitialUpdate();之后调用OnUpdate()。因此,在执行CView::OnInitialUpdate();函数之前,它不能在此OnUpdate()之后继续下一步。

代码语言:javascript
复制
void PinNameView::OnInitialUpdate()
{
    CView::OnInitialUpdate();
    pInputData = pOutputData = NULL;
    //...
}

void PinNameView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint)
{
    //...
    this->Invalidate(false);
}

我必须将变量pInputDatapOutputData设置为OnUpdate()之前的NULL,但在OnUpdate()之后将其设置为NULL

这个PinNameView类是从CView类派生的。

我想知道为什么叫它第一。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-11 11:25:21

CView::OnInitialUpdate调用CView::OnUpdate。

因此,如果OnUpdate实现依赖于必须在OnInitialUpdate中设置的变量,则必须首先执行init内容,然后调用默认实现。

代码语言:javascript
复制
void PinNameView::OnInitialUpdate()
{
    pInputData = pOutputData = NULL;
    //...

    CView::OnInitialUpdate();
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34708373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档