View und Serialize

Rearhh

Mitglied
Hi,

weiss jemand so spontan, ob man aus einer View-Klasse speichern kann?
Ich hab zwar eine derartige Funktion überschrieben, habe auch das DECLARE_SERIAL-Makro gesetzt, aber Daten werden nicht in eine Datei gespeichert.


Die Daten, die gespeichert werden sollen, stammen nämlich aus einer CListView (alles CString). Sie sollen ausgelesen und zusammen mit ein paar weiteren Daten aus der Dokumentenklasse (ebenfalls CString), die über GetDocument() eingeholt werden, in der View-Klasse gespeichert werden. Aber ich bekomme immer nur 0 byte große Dateien *schnief*
 
Jo!

Einfach in der Ansichtsklasse die Liste auslesen und serialisieren:

Code:
void MyView::Serialize(CArchive& ar)
{
   if(ar.IsStoring())
	 {
		  CListCtrl& listCtrl = GetListCtrl();
		  CString data;
		  data=listCtrl.GetItemText(index,spalte);
		  ar << data;
	 }
   else
	 { ... }
}

Und dann in der Dokumentenklasse einfach auf die Ansichtsklasse verweisen:

Code:
void MyDoc::Serialize(CArchive& ar)
{
   
   POSITION pos = GetFirstViewPosition();
   CView* pView = GetNextView( pos );
   pView->Serialize(ar);
   if(ar.IsStoring())
	 { }
   else
	 { }
}
 
Zurück