Distruggendo una finestra

È possibile utilizzare la funzione DestroyWindow per distruggere una finestra. In genere, un'applicazione invia il messaggio WM_CLOSE prima di distruggere una finestra, dando la finestra l'opportunità di richiedere all'utente per la conferma prima che la finestra è distrutta. Una finestra che include automaticamente un menu finestra riceve il messaggio WM_CLOSE quando l'utente seleziona Chiudi dal menu finestra. Se l'utente conferma che la finestra sarà distrutta, l'applicazione chiama DestroyWindow. Il sistema invia il messaggio WM_DESTROY alla finestra dopo averlo rimosso dallo schermo. In risposta a WM_DESTROY, la finestra Salva i suoi dati e libera le risorse che è allocato. Una finestra principale conclude l'elaborazione di WM_DESTROY chiamando la funzione PostQuitMessage, come descritto per chiudere l'applicazione.

Nell'esempio seguente viene illustrato come richiedere conferma utente prima di distruggere una finestra. In risposta a WM_CLOSE, l'esempio consente di visualizzare una finestra di dialogo che contiene i pulsanti , OKe Annulla . Se l'utente fa clic su , viene chiamato DestroyWindow ; in caso contrario, la finestra non viene distrutta. Perché la finestra viene distrutta è una finestra principale, nell'esempio viene chiamato PostQuitMessage, come descritto in risposta a WM_DESTROY.

caso WM_CLOSE: / / crea la finestra di messaggio. Se l'utente fa clic / / the Yes button, distruggere la finestra principale. 
 
    Se (MessageBox (hwnd, szConfirm, szAppName, MB_YESNOCANCEL) = = IDYES) DestroyWindow(hwndMain); 
    else return 0; 
 
caso WM_DESTROY: / / Post il messaggio WM_QUIT / / quit termina l'applicazione. 
 
    PostQuitMessage(0); 
    restituire 0