我认为OnInitialUpdate()函数在OnUpdate()函数之前调用,但是当我打开文档时,OnInitialUpdate()首先调用,但在这个CView::OnInitialUpdate();之后调用OnUpdate()。因此,在执行CView::OnInitialUpdate();函数之前,它不能在此OnUpdate()之后继续下一步。
void PinNameView::OnInitialUpdate()
{
CView::OnInitialUpdate();
pInputData = pOutputData = NULL;
//...
}
void PinNameView::OnUpdate(CView* pSender, LPARAM lHint, CObject* pHint)
{
//...
this->Invalidate(false);
}我必须将变量pInputData和pOutputData设置为OnUpdate()之前的NULL,但在OnUpdate()之后将其设置为NULL
这个PinNameView类是从CView类派生的。
我想知道为什么叫它第一。
发布于 2016-01-11 11:25:21
CView::OnInitialUpdate调用CView::OnUpdate。
因此,如果OnUpdate实现依赖于必须在OnInitialUpdate中设置的变量,则必须首先执行init内容,然后调用默认实现。
void PinNameView::OnInitialUpdate()
{
pInputData = pOutputData = NULL;
//...
CView::OnInitialUpdate();
}https://stackoverflow.com/questions/34708373
复制相似问题