[C con Clase] Hilo del WM_QUIT

Juan jmicanovelles en gmail.com
Jue Jul 17 21:55:18 CEST 2008


he seguido el hilo del WM_QUIT y tambien tengo mis dudas.
Con un bucle de mensajes como este:
    MSG Msg;    //a simple structure for storing message information
    //start message loop
    while (GetMessage(&Msg,NULL,0,0))
        {
        TranslateMessage(&Msg);
        DispatchMessage(&Msg);
        }
    return Msg.wParam;
Con un PostQuitMessage(0); sales del programa sin recibir un WM_DESTROY ni un WM_CLOSE ni recibes en el procedimiento de ventana el WM_QUIT, porqué supongo que no llega porque se pierde en el bucle de mensajes.
Si sales pulsando la X de la aplicación, puedes interceptar el WM_CLOSE o el WM_DESTROY, o ambos a la vez y lanzar un PostQuitMessage(0); y sales.
Si lanzas un DestroyWindow(hwnd) recibes un WM_DESTROY.
Supongo que si tienes una aplicación abierta, en WM_CLOSE es buen momento para decidir si salir o no del programa, aunque en WM_DESTROY aún estás a tiempo de echarte atrás no?
Cuando y como en el procedimiento de ventana puedes interceptar el WM_QUIT...
Supongo que tendré algún programa que lo haga, pero ahora mismo no lo encuentro, y tampoco me hace falta, solo es curiosidad.
Juan


Más información sobre la lista de distribución Cconclase