2013-11-19 4 views
0

Так что я спас Variaable с Serialize в MFCUpdate CListCtrl после загрузки переменной сериализации

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 после загрузки переменной?

ответ

0

В архитектуре doc/view MFC вы вызываете UpdateAllViews, когда документ изменил данные. Это вызывает OnUpdate для вызова в каждом представлении, связанном с документом. Так что поставьте код в свой взгляд OnUpdate. Вы можете обновить все там или использовать параметр lHint для обновления определенной вещи.