Programm beenden?



  • Hm. Wie genau ist denn das mit dem Beenden eines Programms? Also eines Dialogfeldes bzw. einer SDI-/MDI-Andwendung?

    Wenn ich als Benutzer auf das X (rechts oben) klick, ist dann der gesamte Speicher des Programms genauso "ordentlich" gelöscht, wie wenn ich auf "Beenden" gehe? Und was muss ich machen, damit ich selbst soetwas erzeugen kann? (Zum Beispiel wenn ich einen Button zum Beenden haben will.) Reicht dann einfach eine WM_DESTROY-Nachricht und erledigen die bereits vorhandenen Destruktoren den Rest, oder muss man da noch mehr machen?

    Das ist WICHTIG! Aber schon mal danke im Vorhinein. 😃 😉



  • Hi,
    das "X" rechts oben führt die Funktion OnClose() aus.
    Zum beenden kannste folgende Funktionen benutzen:

    OnOK(); // Normalerweise für OK-Schaltflächen
    OnCancel();// für Abbrechen-Schaltflächen
    OnClose(); // benutzt das "X" rechts oben

    PostQuitMessage(...);

    Ich denke, das reicht vorerst. Wenn du ein Dialogfeld hast, dass normal beendet werden soll, verwende doch einfach OnOK();



  • und wie ist es wenn ich ne dialogbasierende anwendung hab und die komplette anwendung von einem dialog aus beenden will der nicht der "hauptdialog" ist??

    ist die frage verständlich?
    naja ich formuliers nochmal um.
    wenn man eine dialogbasierende anwendung mit vcpp ganz neu, ohne diesen AboutBox-Dialog, erstellt dann ist nur ein dialog in der anwendung vorhanden. diesen nenne ich jetzt mal hauptdialog. dann füge ich noch einen zweiten dialog ein. und das ganze programmiere ich so, dass beim starten des programms zu erst der zweite dialog angezeigt wird... und von dort aus soll das komplette programm beendbar sein! d.h. wenn ich diesen zweiten dialog schließen würde, würde der hauptdialog angezeigt werden. und wenn ich den schließ, ist das programm beendet. ich möchte aber dass das programm schpn dann beendet wird sobald ich im zweiten dialog auf einen Beenden-button klicke. wie geht das? 🙂
    danke für eure hilfe!



  • Hi,
    Ich kann mich nur wiederholen...
    Mit PostQuitMessage(1); kannste z.B. das gesamte Programm beenden. Auch von deinem 2. Dialog aus....

    mfg TakeItEasy!

    [ Dieser Beitrag wurde am 16.01.2003 um 21:29 Uhr von takeiteasy editiert. ]


Anmelden zum Antworten