You are not logged in.

  • Login

1

Thursday, November 9th 2006, 5:12pm

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.

C Quellcode

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


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

2

Thursday, November 9th 2006, 8:44pm

Wenn ich mich recht entsinne gibt es so was wie "PostQuitMessage" - du musst imho einfach nur die richtige Nachricht schicken!

3

Thursday, November 9th 2006, 9:47pm

Hi,
PostQuitMessage ist an der Stelle leider ungeeignet.

Folgendes ist imho die sauberste und sicherste Lösung:

C Quellcode

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


Gruß void

4

Friday, November 10th 2006, 4:51pm

Hallo void.
Funktioniert super.
Kann so einfach sein wenn man nur weiss wo es stehe.
In den drei C++ Büchern die ich habe war jedenfalls nichts zu finden.
Danke, Danke, Danke.


elementar

Social bookmarks