Servus, ich hasse MFC. Soweit so gut Jetzt zur Sache. Ich habe ein Hauptfenster, bei dem durch Wahl eines Menüpunktes ein Dialogfenster geöffnet wird(nicht modal). Dort wähle ich ein Datei aus, diese wird kopiert in eine temporäre Datei. Bis jetzt klappt alles. Jetzt möchte ich das Hauptfenster aktualisieren. Dazu brauch ich ein Zeiger von der OnDblclkAuswahlTREE Methode zum Hauptfenster. Mir geht es dabei um ein erneutes Einlesen des Datensatzes, nicht um das neuzeichnen des Fensters. Ich kann das zwar alles in OnPaint ständig neu aktualisieren lassen,möchte ich aber nicht. 1. Wie bekomme ich diesen Zeiger auf das Hauptfenster. Ich hab schon einiges ausprobiert, bekomme aber nie die richtige Adresse auf den Zeiger 2. Gibt es eine Erklärung warum man das so macht, wie man es macht. Die MSDN Hilfe hat zwar genau so ein Beitrag, der hilft mir aber nicht wirklich weiter Hilfe! Danke
Das Hauptfenster ist -eigentlich- das Parent des Dialogfensters. Du könntest es Dir ganz einfach machen, und Deinem Dialog einen Pointer auf dieses Fenster mitgeben (so daß Du den Pointer nicht im Dialog selbst bestimmen musst), und im OnDblClk-Handler kannst Du dann eine geeignete Nachricht an dieses Fenster senden. Quelltext?
Wenn man es allerdings getrau der reinen Lehre macht, dann ist dem Dialog das Hauptfenster aber sowas von egal. Der Dialog sollte sich eigentlich nur um das Document kümmern. D.h. Der Dialog gibt dem Document den Befehl (zb. Funktionsaufruf) die Daten neu einzulesen. Das macht das Document auch und ruft dann ganz zum Schluß nach dem Einlesen UpdateAllViews auf. Dadurch ist sichergestellt, das das ganze auch funktioniert wenn man 25 Views auf ein und dasselbe Document offen hat, dass sich jeder einzelne schön sauber neu zeichnet, wenn sich das Document verändert hat. Was es wiederrum tut, weil es von deinem nicht-modalen Dialog den Auftrag dazu bekommen hat. Application = hält alles zusammen MainForm = Fenster welches die Applikation symbolisiert Document = dort wird alles abgehandelt was mit Datenmanipulation zu tun hat View = zuständig für die Anzeige und Benutzereingaben Nicht zuständig für Datenmanipulationen
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.