Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Anonymous

unregistriert

1

17.12.2003, 18:30

DestroyWindow und PostQuitMessage

Hallo

Ich würde gern wissen, ob man, bevor man "PostQuitMessage" aufruft "DestroyWindow" für alle Fenster der Anwendung aufrufen muss.

Harre auf Anwort

Patrick

Alter Hase

Beiträge: 1 264

Wohnort: Düren

Beruf: Fachinformatiker für Anwendungsentwicklung

  • Private Nachricht senden

2

17.12.2003, 18:48

Hi,

sofern wie ich weis reicht PostQuitMessage (0);

Hier ein sehr gutes Tut zur Win32API

http://www.win-api.de/

Jens

Treue Seele

Beiträge: 117

Wohnort: Dresden

  • Private Nachricht senden

3

18.12.2003, 09:05

erst Destroy, dann PostQuitMessage

im MSDN gibt es ein gutes Beispiel dazu:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
case WM_CLOSE: 
 
    // Create the message box. If the user clicks 
    // the Yes button, destroy the main window. 
 
    if (MessageBox(hwnd, szConfirm, szAppName, 
            MB_YESNOCANCEL) == IDYES) 
        DestroyWindow(hwndMain); 
    else 
        return 0; 
 
case WM_DESTROY: 
 
    // Post the WM_QUIT message to 
    // quit the application terminate. 
 
    PostQuitMessage(0); 
    return 0;


Das bedeutet, dass erst die WM_CLOSE-Message kommt, dadurch DestroyWindow ausgeführt wird. Der Aufruf lößt WM_DESTROY aus, da wird PostQuitMessage ausgeführt...

hwndMain ist das Hauptfensterhandle. Wenn alle Programmfenster dieses Fensterhandle als Parent mitgeteilt bekommen haben, sind sie Childs und werden automatisch zerstört. (bin mir nicht sicher)
Bis später...

Anonymous

unregistriert

4

18.12.2003, 14:33

Präzisierung

Danke für die Anworten. Obiges ist mir schon klar, aber: Wenn eine Anwendung mehrere Fenster hat und man möchte beim schließen eines der Fenster die Anwendung beenden (die anderen Fenster sind keine Childs), muss ich dann vorher auch alle anderen Fenster mit "DestroyWindow" zerstören?"

Werbeanzeige