Compartir a través de


Ejemplo MFCBIND: contenedor de documentos activos

Actualización: noviembre 2007

El ejemplo MFCBIND muestra cómo crear un contenedor de documento activo (antes conocido como DocObject) mediante las clases de MFC compatibles con un contenedor de documento activo. El ejemplo Binder de MFC es una aplicación SDI que utiliza la clase COleDocObjectItem para representar un documento activo en un documento de MFC. MFCBIND funciona de modo muy similar a la aplicación Cuaderno de Office, que se distribuye con Microsoft Office.

Nota de seguridad:

Este código de ejemplo se proporciona para ilustrar un concepto y no debe utilizarse en aplicaciones o sitios Web, ya que quizás no ilustre las prácticas de codificación más seguras. Microsoft no asume ninguna responsabilidad por daños incidentales o consecuentes en caso de que el código de ejemplo se utilice para propósitos distintos de aquellos para los que se concibió.

Para obtener ejemplos e instrucciones para su instalación:

  • En el menú Ayuda de Visual Studio, haga clic en Ejemplos.

    Para obtener más información, vea Localizar archivos de ejemplo.

  • La lista de ejemplos completa con la versión más reciente está disponible en línea en la página Visual Studio 2008 Samples.

  • También encontrará ejemplos en el disco duro de su equipo. De manera predeterminada, los ejemplos y el archivo Léame se copian en una carpeta bajo \Archivos de programa\Visual Studio 9.0\Samples\. Para las versiones Express de Visual Studio, todos los ejemplos están en línea.

Generar y ejecutar el ejemplo

Para generar y ejecutar el ejemplo MFCBIND

  1. Abra la solución mfcbind.sln.

  2. En el menú Generar, haga clic en Generar.

  3. Inicie la aplicación y haga clic en la opción Agregar del menú Sección para agregar al cuaderno tantas secciones como desee.

    Los documentos de Image, Word y Excel son ejemplos de secciones. Cuando agregue una sección al cuaderno, puede editarlo directamente desde la aplicación Binder de MFC como si estuviera trabajando en la aplicación nativa de la sección.

  4. Cuando termine de editar las secciones en el cuaderno, guárdelo haciendo clic en Guardar, en el menú Archivo. Guardar guarda las secciones del cuaderno en un solo archivo. Cuando abra de nuevo el cuaderno más adelante, las secciones estarán disponibles tal y como se guardaron.

Documentos activos en MFC

En MFC, los documentos activos se controlan del mismo modo que los objetos incrustados editables in situ. La clase derivada de COleDocument mantiene una lista de los elementos incrustados actualmente. El objeto COleClientItem, que se reemplaza por la clase COleDocObjectItem derivada de COleClientItem, representa el elemento incrustado en COleDocument. Estos elementos derivados de COleDocObjectItem son los que mantiene en una lista la clase derivada de COleDocument. Los documentos activos, sin embargo, toman toda el área de cliente de la vista cuando están activos in situ. Un contenedor de documentos activos tiene también control completo del menú Ayuda, a diferencia de las incrustaciones in situ anteriores. El menú Ayuda contiene elementos de menú para el contenedor de documentos activos y para el servidor. Puesto que el contenedor de documentos activos posee el menú Ayuda, es responsable de reenviar al servidor los mensajes de la parte de servidor del menú. La funcionalidad de combinación y reenvío de mensajes del menú Ayuda se controla totalmente en el marco de trabajo de MFC.

Palabras clave

En este ejemplo, se muestra el uso de las siguientes palabras clave:

COleClientItem::FinishCreate, COleClientItem::GetIconFromRegistry, IOleObject::GetUserClassID, COleClientItem::OnChange, COleClientItem::OnChangeItemPosition, COleClientItem::OnGetItemPosition, COleClientItem::OnActivate, COleDocument::GetInPlaceActiveItem, COleClientItem::Deactivate, COleClientItem::CreateNewItem, COleClientItem::DoVerb, COleDocObjectItem::COleDocObjectItem, COleClientItem::CreateFromFile, COleClientItem::Activate, COleDocObjectItem::OnPreparePrintin, COleDocObjectItem::OnPrint, SystemParametersInfo, MeasureItem, DrawItem, GetSystemMetrics, SelectObject

Nota:

Algunos ejemplos, como éste, no se han modificado para reflejar los cambios en los asistentes, las bibliotecas y el compilador de Visual C++, pero, aun así, muestran cómo realizar la tarea deseada.

Vea también

Otros recursos

Ejemplos de MFC