Cómo el marco llama al código
Resulta fundamental comprender la relación que existe entre el código fuente y el código del marco de MFC. Cuando se ejecuta la aplicación, la mayor parte del flujo de control reside en el código del marco. El marco administra el bucle de mensajes que obtiene mensajes de Windows a medida que el usuario elige comandos y edita los datos en una vista. Los eventos que el marco puede controlar por sí solo no dependen en absoluto del código. Por ejemplo, el marco sabe cómo cerrar las ventanas y cómo salir de la aplicación en respuesta a los comandos de usuario. A medida que controla estas tareas, el marco de trabajo usa controladores de mensajes y funciones virtuales de C++ para ofrecer oportunidades de responder también a estos eventos. Sin embargo, es el marco el que tiene el control, no el código.
El marco llama al código para eventos específicos de la aplicación. Por ejemplo, cuando el usuario elige un comando de menú, el marco enruta el comando a lo largo de una secuencia de objetos de C++: la vista actual y la ventana de marco, el documento asociado a la vista, la plantilla de documento del documento y el objeto de aplicación. Si uno de estos objetos puede controlar el comando, lo hace, llamando a la función adecuada del controlador de mensajes. Para cualquier comando determinado, el código al que se llama puede ser el suyo o el del marco.
Esta organización resulta de algún modo familiar para los programadores que tienen experiencia en la programación tradicional para Windows o en la programación controlada por eventos.
En temas relacionados, leerá lo que hace el marco cuando inicializa y ejecuta la aplicación y, luego, limpia cuando la aplicación finaliza. También entenderá dónde encaja el código que escribe.
Para más información, consulte Clase CWinApp: clase Application y Plantillas de documento y el proceso de creación de documentos y vistas.