Compartir a través de


Ejemplo MDIDOCVW: muestra el uso de la interfaz de múltiples documentos (MDI) con la arquitectura documento/vista

Actualización: noviembre 2007

El ejemplo MDIDOCVW incluye compatibilidad con la interfaz de múltiples documentos (MDI) de MFC y la arquitectura documento/vista. El ejemplo contiene dos tipos de documento: Hello (que imprime una cadena en una vista) y Bounce (que muestra una bola de color que rebota en una vista). MDIDOCVW también ilustra el uso del temporizador de Microsoft Windows, CColorDialog, CBitmap y el cambio del cursor predeterminado de una ventana.

El ejemplo MDIDOCVW proporciona una ventana primaria con dos tipos distintos de ventana MDI secundaria: una ventana Bounce, en la que una bola rebota, y una ventana Hello, que muestra el texto "Hello, World!".

Si desea ver un ejemplo que utiliza la compatibilidad con MDI sin la arquitectura documento/vista, vea MDI.

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 MDIDOCVW

  1. Abra la solución mdi.sln.

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

  3. En el menú Depurar, haga clic en Iniciar sin depurar.

Haga clic en New Bounce o New Hello en el menú File para crear una ventana MDI secundaria nueva. Los dos tipos de ventana MDI secundaria determinan los menús que se muestran cuando están activas. Los dos tipos de ventana tienen un menú Color. Cuando elija un color en este menú, se actualiza el color de la bola o el texto Hello. Haga clic en Custom para llamar a un cuadro de diálogo Color, en el que puede seleccionar un color especial.

La ventana Bounce también tiene un menú Speed, en el que puede seleccionar la velocidad a la que se mueve la bola por la pantalla.

Una barra de herramientas implementa la mayoría de los comandos de menú. También implementa botones de casilla para los cinco colores básicos.

Cambiar el cursor predeterminado

Aunque CBounceWnd y CHelloWnd reemplazan a Create, esto no es necesario para aprovechar la compatibilidad con MDI del marco de trabajo. El código que reemplaza a Create, que se encuentra en la clase CBounceView, ilustra la forma de cambiar el cursor predeterminado. Si cambia el cursor predeterminado de una ventana, tiene que registrar la nueva clase WNDCLASS llamando a AfxRegisterWndClass y pasando el nombre de la clase WNDCLASS en la llamada a Create.

Palabras clave

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

AfxRegisterWndClass; CBitmap::CreateCompatibleBitmap; CCmdUI::SetCheck; CColorDialog::DoModal; CColorDialog::GetColor; CDC::BitBlt; CDC::CreateCompatibleDC; CDC::DeleteDC; CDC::DrawText; CDC::Ellipse; CDC::FillRect; CDC::GetDeviceCaps; CDC::SelectObject; CDC::SetBkColor; CDC::SetTextColor; CFrameWnd::LoadFrame; CFrameWnd::rectDefault; CGdiObject::DeleteObject; CMDIChildWnd::Create; CWinApp::InitInstance; CWnd::DestroyWindow; CWnd::GetClientRect; CWnd::GetCurrentMessage; CWnd::GetDC; CWnd::KillTimer; CWnd::MessageBox; CWnd::OnCreate; CWnd::OnSize; CWnd::OnTimer; CWnd::ReleaseDC; CWnd::SetTimer; CWnd::ShowWindow; CWnd::UpdateWindow; GetSysColor; LOWORD; RGB; max; min

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