"Alten" Dialog nach klick auf einen Button schliessen

Daniel Bräutigam

Grünschnabel
Hallo, ich bin leider MFC Anfaenger und suche eine Loesung fuer mein folgendes Problem:

Ich klicke in einem Dialog auf einen Button, bei dem mit DoModal ein neues Fenster geoeffnet wird.

Nun moechte ich das "alte" Fenster (mit dem Button) automatisch schliessen lassen, so dass dann nur noch das neue Fenster angeyeigt wird.

Waere [ber eine schnelle Antwort und einen Sourcecode-Beispiel sehr dankbar!
 
Modale Dialoge sind dazu da, nach Bearbeitung des Userinputs zum letzten aufrufenden Fenster zurückzukehren. Das ist eine nahezu unumstössliche Tatsache und auch sehr sinnvoll. Eventuell solltest du nicht mit modalen Dialogen arbeiten, eher mit Wizards. Ich kann aber keinen konkreten Rat geben, weil ich nicht genau weiss, was du vorhast.
 
Danke für die Antwort!

Ich möchte bei einer Anmeldung von normalen Usern einen Button für einen Admin-Login machen.

Also soll in meinem ersten Dialog die Anmeldung von Schülern erfolgen, und dann soll dort in diesem Dialog ein Button sein, der einen Admin-Login erlaubt, und zwar in einem neuen Dialogfenster. Da ich nun ja ein neues Login-Fenster habe, brauche ich das andere nicht mehr, da sich der Admin ja nicht als Schüler einloggen will.

Wie könnte ich dies nun mit einem Wizard lösen?
 
Warum die Unterscheidung? Alle können sich über einen einzigen Dialog einloggen. In der Datenbank, in der die User gespeichert sind, können ja auch die Zugriffsrechte (Admin oder Schüler) gespeichert sein. Der Login-Dialog kann dem aufrufenden Fenster mitteilen, welche Rechte der Eingeloggte hat. Auf jeden Fall nicht zwei unterschiedliche Dialoge machen! Das ist nicht nötig!

Die Idee mit dem Wizard kannst du vergessen -- das war nur geraten, weil ich nicht wusste, was du vorhast.
 
Es ist ganz einfach zu erklären:

Diese Software wird im Moment für unsere Schule programmiert! (wir, die 13. Klasse programmieren die Software, jeder Schüler kümmert sich dabei um einen Lösungsansatz).

Dabei wird eine Datenbank von unserem Schulsystem (nennt sich LUSD - Lehrer und Schüler Datenbank) benutzt, in der bereits alle Schüler mit ihrer Kurswahl etc. eingetragen sind. Diese Tabelle liegt uns vor, und die kann leider nicht mehr geändert werden.

Deshalb müssen wir hier strikt zwischen Schülern und den Admins unterscheiden, da hier 2 verschiedene Datenbanken benutzt werden müssen. Die Admin-Datenbank wird dann von uns angelegt und gillt nur für das Programm selbst, während die andere Datenbank von LUSD weiterverwendet wird (diese wird auch zum Zeugnisse erstellen etc. genutzt).
 
Eine Möglichkeit, mit modalen Dialogen zu arbeiten, und das trotzdem so zu machen:

Den ersten Dialog ganz normal mit DoModal öffnen.
Wenn der Admin-Login-Button gedrückt wird, eine Member-Variable auf true setzen (oder sonstwie ein Flag speichern) und den Dialog mit EndDialog beenden.
Jetzt prüfen, ob das Flag gesetzt ist und wenn ja, den Admin-Login-Dialog mit DoModal öffnen.
Ist meiner Meinung nach sauberer, als den ersten modalen Dialog "abzuschiessen", was komplett gegen das modale System geht.
 

Neue Beiträge

Zurück