La diferencia entre ON_COMMAND y ON_MESSAGE en vc++
Existen tres tipos de mensajes transmitidos en las aplicaciones MFC: mensajes de ventana, mensajes de comando y notificaciones de control.
Los mensajes de ventana (mensaje de ventana) generalmente están relacionados con las operaciones internas de las ventanas, como crear ventanas, dibujar ventanas y destruir ventanas.
etc. Normalmente, los mensajes se envían desde el sistema a una ventana o desde una ventana a otra.
Para obtener una lista completa de mensajes de ventana, consulte la documentación de MFC.
Mensajes de comando
Los mensajes de comando generalmente están relacionados con el procesamiento de solicitudes de los usuarios. Cuando el usuario hace clic en un elemento del menú o en la barra de herramientas, se genera un mensaje de comando y
es. Enviado a un objeto de clase que puede manejar la solicitud (por ejemplo, cargar archivo, editar texto, guardar opciones, etc.).
Notificación de control
Por lo general, las notificaciones de control se envían desde la ventana de control a la ventana principal cuando ocurren ciertos eventos importantes, como abrir un cuadro combinado.
Las notificaciones de control brindan una oportunidad para que la ventana principal controle aún más la ventana secundaria. Por ejemplo, cuando se abre un cuadro combinado, la ventana principal puede completarlo con mensajes que no estaban disponibles cuando se creó el cuadro combinado por primera vez.
ON_COMMAND y ON_MESSAGE agregan funciones de procesamiento de mensajes a la tabla de enrutamiento de mensajes, pero el ID del mensaje correspondiente a ON_COMMAND es siempre WM_COMMAND, y el ID del mensaje de ON_MESSAGE es el primer parámetro de ON_COMMAND