Doc/View-Ansicht



  • Grüzi miteinand!

    Im Konstruktor der Dokumentenklasse erzeuge ich CStrings. Diese möchte ich jedesmal in der Ansichtsklasse anzeigen. Der Code in der OnDraw sieht wie folgt aus:

    CString pData = pDoc->GetData();
    	pDC->TextOut(0,0, pData);
    

    Der Code zum Erzeugen der CStrings soll in einer while-Schleife stehen.

    Wie funktioniert die Funktion UpdateAllviews und wie sieht der Code dafür aus, wo muß ich sie aufrufen?

    Wie proge ich die Schleife über das Nemü einer SDI, ohne das sich das Prog in den Eingeweiden des Compi verirrt 🤡 ?

    Und wieso funzt die Ausgabe des CString mit CEditView net aber mit CView, zumal ich auch eine vorhandene Datei mit CEditView anzeigen kann, aber net mit CView? 😕 Hier besteht für mich ein Konflikt!

    Ich sag schon mal THX Markus 👍 👍 👍



  • Es gibt die Funktion GetActiveDocument, damit kommst du vom MainFrame an das aktuelle Doc. An den MainFrame kommst du von überall her mit AfxGetMainWnd.
    Du musst nur noch jeweils mit dynamic_cast casten und auf NULL prüfen, ob alles okay ist.

    UpdateAllViews ruft von allen Views, die zum Dokument gehören (können bei MDI ja mehrere sein) die OnUpdate Funktion auf. Die musst du einbauen und kannst dann aktualisieren.

    So, mehr weiß ich leider auch nicht mehr, aber du solltest erstmal mit Lesezeichen versorgt sein. 😉


Anmelden zum Antworten