Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Kommunikation View->Doc geht, wie andersherum?

Empfohlene Antworten

Veröffentlicht

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

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.

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.