Поэтому я сохранил переменную с Serialize в MFC
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.
Проблема в том, что я не могу вызвать функцию в моей функции Serialize с pView->InsertAfterOpen();
, Всякий раз, когда я делаю это, переменная не имеет значения. Я действительно не знаю почему.
Кто-нибудь знает, как обновить CListCtrl после того, как я загрузил переменную?
В архитектуре MFC doc / view вы вызываете UpdateAllViews, когда документ изменил данные. Это приводит к тому, что OnUpdate вызывается в каждом представлении, связанном с документом. Так что поместите код на ваш взгляд OnUpdate. Вы можете обновить там все или использовать параметр lHint для обновления определенной вещи.
Других решений пока нет …