[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