Zugriff Doc auf View
-
Hi,
wie bekomme ich am einfachsten einen Zeiger mit dem ich in einer SDI-Anwendung aus der Doc-Klasse heraus auf die View-Klasse zugreifen kann? Andersrum ist ja einfach - bringt mir nur leider nichts, da ich dem FormView aus dem Doc heraus mitteilen muss das er sich neuzeichnen soll..
-
UpdateAllViews()
-
Hmm danke erstmal,
aber ich glaub ich muss doch etwas weiter ausholen
brauche andere (glaub ich) immernoch, denn ich habe ein Array aus Output-PlugIns in der Doc-Klasse, von jedem dieser PlugIns frage ich die Größe ab (Höhe/Breite). Jetzt will ich für jedes Teil ein CWnd auf der FormView erzeugen, und dem PlugIn dann ein Handle auf dieses CWnd geben, dann kann der Output innerhalb dieses Bereichs beliebig dargestellt werden. Die CWnds für die verschiedenen PlugIns ordnet dann das Hauptprogramm automatisch an.
Ich brauche also auf jeden Fall das Handle auf das CWnd des FormViews.Habe es jetzt auch schon soweit gelöst, das ich im Doc einfach nen Pointer auf nen CWnd erstellt habe, der dann bei OnInitialUpdate des Views zugewiesen wird.
Mit neuzeichnen meinte ich gar nicht OnPaint, sondern das neuzeichnen oder besser aktualiseren aller CWnds der PlugIns wenn neue Daten vorliegen - Habe mich etwas doof ausgedrückt, sorry
Aber wie ich richtigen Zugriff, auf alle Memberfunktionen des Views bekomme, würde mich immernoch interessieren, auch wenn ich es jetzt (glaub ich) gar nicht mehr brauche..
-
UpdateAllViews löst im View die OnUpdate Funktion aus. Dadrauf könntest du reagieren.
Oder du machst so eine Schummellösung, wie ich habe:
Einen Zeiger auf den View als Member im Doc. Den füllst du einfach in OnInitialUpdate zusammen mit den anderen Sachen.Oder aber, du holst dir den Zeiger mit GetActiveView und castest.