Compartir a través de


Ejemplo de WinFormIntegration: muestra cómo alojar un control de usuario de formularios Windows Forms en una aplicación MFC

Actualización: noviembre 2007

En este ejemplo se muestra cómo alojar un control de usuario de formularios Windows Forms como cuadro de diálogo o vista en una aplicación MFC.

El ejemplo comprende tres archivos DLL de extensión de MFC, dos controles de usuario de formularios Windows Forms y una aplicación principal MDI de MFC:

EXTDLL1: utiliza CWinFormsView para alojar el control de usuario WinFormUserControlView1 como ventana CView dentro de la aplicación MDI de MFC. También utiliza el enrutamiento de comandos para enviar mensajes al control de usuario de formularios Windows Forms.

EXTDLL2: muestra cómo se aloja un control de usuario de formularios Windows Forms como un control estático en una ventana CView existente.

EXTDLL3: encapsula las diferentes formas en las que se puede alojar un control de usuario de formularios Windows Forms en un cuadro de diálogo MFC, incluido el uso de CDialog y CWinFormsDialog.

WinFormUserControl1: un control de usuario simple de formularios Windows Forms con algunos controles comunes agregados.

WinFormUserControlView1: un control de usuario de formularios Windows Forms que implementa las interfaces Microsoft::VisualC::MFC::IView e Microsoft::VisualC::MFC::ICommandTarget para participar en el enrutamiento de comandos de MFC y ver las notificaciones. Se trata de un editor de texto básico (con un control TextBox de .NET de varios líneas) que utiliza MFC para guardar y abrir los archivos.

MFC04: es la principal aplicación MDI de MFC que carga los archivos DLL de extensión de MFC, agregándolos como diferentes plantillas de documento de MFC.

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.

Para generar y ejecutar el ejemplo:

  1. Para generar los proyectos, abra MFC04.sln y seleccione Generar solución en el menú Generar.

  2. Para ejecutar los diferentes escenarios, inicie la aplicación y, en el menú Archivo, seleccione Nuevo. A continuación, seleccione la plantilla Cuadros de diálogo, CView o CFormView:

    1. La plantilla CView abre una vista CWinFormsView con un cuadro de diálogo de edición de .NET que se compone de varias líneas. Asimismo, se puede guardar este texto en un archivo y cargarlo de nuevo a través de los elementos de menú Guardar y Abrir de MFC. La funcionalidad Guardar se puede invocar desde los formularios Windows Forms seleccionando el botón desplegable Guardar cambios en el StatusStrip de Windows Forms. Al seleccionar el elemento de menú CViewCmds->Command1 de MFC, se actualizará el texto en el StatusStrip mostrando el enrutamiento de comandos de MFC al control de usuario alojado de Windows Forms.

    2. La plantilla CFormView es el mismo control de usuario de Windows Forms que el anterior, excepto que está alojada dentro de un recurso de CFormView. Esta plantilla sólo muestra el código de alojamiento; la funcionalidad Guardar y Abrir no está implementada.

    3. La plantilla Cuadros de diálogo es una vista que muestra un control de usuario de Windows Forms alojado en los siguientes escenarios: en un CDialog modal, en un CDialog no modal, como un CWinFormsDialog modal y como un CWinFormsDialog no modal. En los ejemplos de CWinFormsDialog se muestra cómo enlazar las funciones de MFC a los eventos de control de Windows Forms. En estos ejemplos también se muestra cómo pasar las cadenas administradas a cadenas nativas a través de CString a los operadores de conversión System::String^.

Requisitos

Sistemas operativos compatibles: Windows Server 2003, Windows XP

Vea también

Referencia

Ejemplos de Windows Forms para MFC