Wie beende ich mein Programm???

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Wie beende ich mein Programm???

    Hallo.
    Wie kann ich denn meinem Programm beibringen sich zu beenden?
    Ich habe ein MFC SDI Programm welches ein modale Dialogfenster erzeugt.
    Beim klick auf Abbrechen (Cancel-Button) des Dialogfensters schliesst sich das Dialogfenster.
    Ich will nun aber das sich das ganze Programm beendet weshalb ich folgendes gemacht habe.
    Bei einem Mausklick in der Ansicht wird das modale Dialogfenster erzeugt.

    Quellcode

    1. void CDialogButtonView::OnLButtonDown(UINT nFlags, CPoint point)
    2. {
    3. CMyDialog md; //erzeugen des Dialogfensters
    4. int ret = md.DoModal(); //return-wert merken ret = 2
    5. if(ret == 2)
    6. {
    7. DestroyWindow(); //gesamtes Programm beenden
    8. }
    9. CView::OnLButtonDown(nFlags, point);
    10. }
    Alles anzeigen


    Ich bekomme die Fehlermeldung ‘Unbehandelte Ausnahme in DialogButton.exe’
    Und
    'nicht abgefangene Ausnahme in DialogButton.exe’

    Wie kann ich mein Programm beenden wenn ich auf den Abbrechen-Button klicke?

    elementar
  • Hi,
    PostQuitMessage ist an der Stelle leider ungeeignet.

    Folgendes ist imho die sauberste und sicherste Lösung:

    Quellcode

    1. CMyDialog md; //erzeugen des Dialogfensters
    2. if(md.DoModal()==IDCANCEL)
    3. AfxGetMainWnd()->PostMessage(WM_CLOSE);


    Gruß void
    "Probleme kann man niemals mit derselben Denkweise lösen,
    durch die sie entstanden sind." (A. Einstein)