Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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.

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...