SDI - Beenden
-
Hallo, habe ein SDI Dialog und möchte ihn beenden. Bei einer Dialog anwendung geht das ja mit EndDialog() aber das ist beim SDI nicht möglich. Wie geht es da.
-
AfxGetMainWnd()->PostMessage(WM_CLOSE);
Grüssli
Edit by estartu: Auf Wunsch nachträglich korrigiert. WM_QUIT wäre falsch gewesen. s.u.
-
Vielen Dank
-
Ich kann diese Antwort bald nicht mehr sehen.
PostQuitMessage ist definitiv nicht korrekt. Es werden nicht alle Ressourcen freigegeben und nicht alle Destruktoren aufgerufen!Eine SDI Applikation wird beendet indem das Frame Window zerstört wird. Am einfachsten kann man dies kontrolliert werreichen in dem man WM_CLOSE postet, dann wird auch gefragt ob die Daten gespeichert werden sollen.
Ansonsten AfxGetMainWnd()->DestroyWindow()
In diesem Fall werden alle Ressourcen freigegeben.
-
Dann sollte man vielleicht einen FAQ Beitrag mit kurzer Erklärung anfertigen.
-
Den gibts scheinbar echt noch nicht - aber gleich...