programas de Win32 generalmente tienen un bucle de mensajes que los bucles llamando GetMessage o PeekMessage, y luego llama DispatchMessage para enviar el mensaje a la ventana proceedure de la ventana correspondiente.¿Es necesario llamar a DispatchMessage en los programas de win32?
¿Pero hay alguna necesidad de hacer esto? ¿Puedo simplemente mirar en el objeto MSG directamente en el bucle de mensajes y realizar las acciones necesarias allí sin llamar al DispatchMessage? Estoy hablando de casos en los que tengo una ventana única sin otros controles de ventana, por ejemplo, si la ventana solo se usa como una ventana de visualización de direct3d, por lo que los mensajes siempre se dirigirán a la única ventana.
Principalmente soy curioso pero también podría llevar a que ciertos aspectos de mi código sean más limpios también.
¡Eso tiene sentido, gracias! – jcoder
'DispatchMessage' y' CallWindowProc' también hacen cosas como considerar los ganchos de Windows. Incluso con una sola ventana, debe usarlos. Creo que algunos mensajes no se pueden procesar correctamente fuera de 'DispatchMessage', pero no tengo ningún ejemplo fuera de lo común. Tal vez cosas como 'WM_PAINT'. – tenfour
@tenfour, quizás lo más correcto es decir que algunos mensajes se llamarán de todos modos a través de WindowProc, y no existirán como mensajes separados en la cola. Por lo tanto, WindowProc es una necesidad en cualquier caso. Aún así, los publicados en la cola pueden manejarse de ambas formas. No puedo pensar en las razones por las que uno querría manejarlas allí mismo en el lado de la bomba. –