Mira
acá para gestionar mensajes entra aplicaciones.
Creo que no es posible lo que planteabas al principio de detener la ejecución hasta que se procesen otros eventos, ya que si tu aplicación tiene un solo hilo se mantendrá procesando el código del evento actual hasta que termine y solo luego procesará los otros mensajes enviados a los demás componentes, pero nada te impide hacer que tu aplicación sea multihilo.