WM_CLOSE abfangen; wohin mit case-anweisung?
-
Ich möchte beim Schließen eines Programms, also wenn WM_CLOSE gesendet wird, eine abfrage machen, ob der Benutzer das Program wirklich beenden will. Ich hab schon in anderen Posts gelesen, dass das ungefähr so geht:
case WM_CLOSE: int abfrage = Application->MessageBox("Möchten Sie das Programm wirklich beenden?","Wirklich beenden?",36); if(abfrage == IDNO){ return 0; } else{ PostQuitMessage(0); }Nur leider weis ich nicht, in welche Datei an welche Stelle ich das schreiben muss.
Ich benutze den Borland-Builder 1 Standard.
-
Bocky< schrieb:
Nur leider weis ich nicht, in welche Datei an welche Stelle ich das schreiben muss.Öhm, was hat das mit der Datei zu tun? Das gehört in die WndProc Deines Hauptfensters, in Dein Message-Switch
.
-
Das is ja grad das Porblem: Ich weis nicht, wo sich das WndProc befindet.
In der einen Datei ist das WinMain drin, in der anderen hab ich meinen eigentlichen Quelltext. Aber in keiner der Dateien, die mir der Borland-Builder erstellt, befindet sich eine WndProc bzw. ich finds nicht.
-
Dann musst du sie suchen

Such nach "lpfnWndProc", dann wirst du sie schon finden...
-
ne, da wird gar nichts gefunden.
nur wenn ich nach wndproc suche, findet der was, aber nur in der .obj-datei.
-
Verwendest du ueberhaupt die WinAPI?
-
hmmmmm.... bin mir nich sicher. Hab nich so viel ahnung davon.
Hab nochma bei den Foren durchgeguckt. Kann auch sein, dass das hier in VLC/CLX (Borland c++ Builder) gehört.
sry

-
void __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action) { if(MessageBox(Handle, "Wirklich schließen?", "", MB_YESNO | MB_TASKMODAL) == ID_NO) Action = caNone; } //---------------------------------------------------------------------------mfg
-
THX
funzt einwandfrei
DANKE