Crear una aplicación contenedora de documentos activos
La manera más sencilla y recomendada de crear una aplicación contenedora de documentos activos es crear una aplicación contenedora de MFC EXE mediante el asistente para aplicaciones MFC, modifique la aplicación admita la contención del documento activo.
Para crear una aplicación contenedora de documentos activos
En el menú de archivo , haga clic Proyectoen el submenú de Nuevo .
En el panel izquierdo, tipo de proyecto de Visual C++ en.
Aplicación MFC Seleccione en el panel derecho.
Asigne al proyecto MyProj, haga clic Aceptar.
Seleccione la página de Compatib. doc. compuestos .
Seleccione Contenedor o la opción de Contenedor/servidor completo .
Active la casilla de Contenedor de documentos activos .
Haga clic en Finalizar.
Cuando el asistente para aplicaciones MFC acaba de generar la aplicación, abra los siguientes archivos utilizando el explorador de soluciones:
- MyProjview.cpp
En MyProjview.cpp, realice los cambios siguientes:
En CMyProjView::OnPreparePrinting, reemplace el contenido de la función con el código siguiente:
if (!CView::OnPreparePrinting(pInfo)) return FALSE; if (!COleDocObjectItem::OnPreparePrinting(this, pInfo)) return FALSE; return TRUE;
OnPreparePrinting proporciona compatibilidad de impresión.Este código reemplaza DoPreparePrinting, que es la preparación predeterminada de impresión.
Contención de documento activo proporciona un esquema que imprime mejorado:
Puede llamar primero al documento activo a través de su interfazde IPrinty indicarle que se imprima.Esto es diferente de contención anterior OLE, en la que el contenedor tenía que generar una imagen del elemento contenido en el objeto deCDCde impresora.
Si da error, indican al elemento contenido que se imprima a través de su interfazde IOleCommandTarget
Si da error, cree su propia representación de elemento.
Las funciones estáticas COleDocObjectItem::OnPrint y COleDocObjectItem::OnPreparePrintingmiembro, tal como se implementa en el código anterior, controle este esquema que imprime mejorado.
Agregue cualquier implementación propio y compile la aplicación.