PanicMan Geschrieben 9. April 2002 Teilen Geschrieben 9. April 2002 Hallo! ich hab jetzt endlich herausgefunden, wie eine kommunikation zwischen der View und der Doc Klasse geht. und Zwar ist da in der ...View.h folgender eintrag : #ifndef _DEBUG // debug version in AdressenVerwaltungView.cpp inline CAdressenVerwaltungDoc* CAdressenVerwaltungView::GetDocument() { return (CAdressenVerwaltungDoc*)m_pDocument; } #endif und in der ...View.cpp dieser : ////////////////////////////////////////////////////////// // CAdressenVerwaltungView diagnostics #ifdef _DEBUG void CAdressenVerwaltungView::AssertValid() const { CFormView::AssertValid(); } void CAdressenVerwaltungView: :Dump(CDumpContext& dc) const { CFormView: :Dump(dc); } CAdressenVerwaltungDoc* CAdressenVerwaltungView::GetDocument() // non-debug version is inline { ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CAdressenVerwaltungDoc))); return (CAdressenVerwaltungDoc*)m_pDocument; } #endif //_DEBUG Der Zugriff von der View auf die Doc geht dan so : GetDocument()->... OK, jetzt wollte ich das ganze andersherum machen, also von der Doc auf die View zugreifen, dann geht es nicht, obwohl ich die ganzen sachen dementprechend anpasse... habe ich was vergessen? ------ Nachtrag ------------- In der Haupt-CPP habe ich diesen eintrag gefunden : CSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate( IDR_MAINFRAME, RUNTIME_CLASS(CAdressenVerwaltungDoc), RUNTIME_CLASS(CMainFrame), // main SDI frame window RUNTIME_CLASS(CAdressenVerwaltungView)); AddDocTemplate(pDocTemplate); Möglicherweise hängt das damit zusammen, aber wie kann ich das umändern? THX Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
themaster Geschrieben 10. April 2002 Teilen Geschrieben 10. April 2002 Von einem von CDocument abgeleiten Klassenobjekt greift man auf die Views am besten mit zwei Funktionen zu. Und zwar CDocument::GetFirstViewPosition (MSDN) und CDocument::GetNextView (MSDN) . Zwei Funktionen sind notwendig, weil ein Document im MDI (Multi Document Interface) ja mehrere Views haben kann. Wie du schon vermutet hast, findet die Zuordnung zwischen Document-Klasse und View-Klasse in der Template-Definition statt. Dies ist auf jeden Fall der Ort der Standardzuordnung. Mit einigem Aufwand kann man eine Zuordnung auch anders herstellen. Hoffe, das war das was du wissen wolltest. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.