所以我在MFC中保存了一个带有Serialize的Variaable
void CDatenbankDoc::Serialize(CArchive& ar)
{
if (ar.IsStoring())
{
ar << Eintrag[0].name;
}
else
{
ar >> Eintrag[0].name;
}
}
每当我加载变量时,我都必须在我的CMyView类中调用一个函数。
void CDatenbankView::InsertAfterOpen()
{
//DOC
CDatenbankDoc* pDoc = CDatenbankDoc::GetDoc ();
ASSERT_VALID (pDoc);
i = m_List.InsertItem (i, pDoc->Eintrag[i].name);
}
它更新我的CListCtrl。
问题是,我无法使用pView->InsertAfterOpen();
在我的Serialize函数中调用该函数。每当我这样做时,变量都没有价值。我真的不知道为什么。
有谁知道,加载变量后如何更新CListCtrl?
答案 0 :(得分:0)
在MFC文档/视图架构中,当文档更改数据时,您调用UpdateAllViews。这会导致在与文档关联的每个视图中调用OnUpdate。所以把代码放在你的视图OnUpdate中。您可以更新那里的所有内容,或使用lHint参数更新特定内容。