Komplettes Programm aus Dialog beenden
-
Hallo zusammen,
WinXp Prof, MS Visual C++ 6.0, MFC
Ich habe folgendes Problem:
Ich starte in meiner "...View.cpp" in der Fkt "OnInitialUpdate()" einen DialogDieser Dialog hat einen "OK" und einen Cancel "Button"
nun soll, wenn der Benutzer auf CANCEL click, mein Programm beenden werden...also in meinem Fall erst gar nicht gestartet werden.Wie ist das möglich?
Vielen Dank für Eure Hilfe
MfG Dippi
-
PostQuitMessage nach dem Aufruf des Dialoges?
-
In deiner View-Klasse des Hauptprogramms folgendes eintragen:
OnInitialUpdate
{
.
.
if(DeinDialog.Domodal() == ID_CANCEL) exit(0);
.
}DoModal gibt einen Wert zurück, welchen du in einer IF-Abfrage abfangen kannst.
Vorrausetzung dafür ist natürlich, dass du die Std-mäßig generieten Button verwendet hast bzw. die OnOK() bzw. OnCancel() überladen hast.
exit(0) dürfte wohl klar seinHilla
-
PostQuitMessage ist besser als exit, weil exit brutal das Programm abbricht...
-
dachte die wirklich brutale Variante wäre _exit() ^^
nach studieren der MSDN hast du aber wohl recht, dass PostQuitMessage die schönere Variante ist.......the function simply indicates to the system that the thread is requesting to quit at some time in the future......
Hilla
PS: in der IF-Abfrage muss das natürlich ...DeinDialog.DoModal()...heißen
-
Hey vielen Dank
PostQuitMessage(0);
hat einwandfrei funktioniert...
aber hab auch nix anderes erwartet.
Wünsche Euch eine schöne Weihnachtszeit und einen guten Rutsch ins neue JahrMfG Dippi