Tipos de documento, vistas, y cuadro varias Windows

La relación estándar entre un documento, la vista, y la ventana de marco se describe en Creación de documentos y vistas.Muchas aplicaciones admiten un único tipo de documento (pero posiblemente documentos abiertos varios de ese tipo) con una vista única en el documento y en una ventana de marco por el documento.Pero algunas aplicaciones necesiten modificar uno o más de los valores predeterminados.

¿Qué más desea saber?

  • Tipos de documento varias

  • Varias vistas

  • Varias ventanas de marco

  • Ventanas divisoras

Tipos de documento varias

El asistente para aplicaciones MFC crea una clase de un solo documento automáticamente.En algunos casos, sin embargo, puede ser necesario admitir más de un tipo de documento.Por ejemplo, su aplicación puede necesitar documentos de la hoja de cálculo y gráficos.El propio representa cada tipo de documento por su propia clase de documento y probablemente su clase de vista también.Cuando el usuario elige el comando de Archivo Nuevo, el marco muestra un cuadro de diálogo que muestra los tipos de documento admitidos.Se crea un documento del tipo que el usuario elija.Su propio objeto de plantilla de documento administra a cada tipo de documento.

Para crear clases adicionales de documento, vea agregar una clase.Elija CDocument como el tipo de clase para derivar y para proporcionar la información solicitada del documento.Después de implementar los datos de la nueva clase.

Para permitir el marco conocer la clase adicional del documento, debe agregar una segunda llamada a AddDocTemplate en la invalidación de InitInstance de la clase de aplicación.Para obtener más información, vea plantillas de documento.

Varias vistas

Muchos documentos solo necesitan una vista única, pero es posible admitir más de una vista de un documento único.Para ayudarle a implementar las varias vistas, un objeto document mantiene una lista de las vistas, proporciona funciones miembro para agregar y quitar las vistas, y proporciona la función miembro de UpdateAllViews para permitir las varias vistas sabe cuándo los datos del documento ha cambiado.

MFC admite tres interfaces de usuario comunes que requieren varias vistas del mismo documento.Estos modelos son:

  • Objetos de vista de la misma clase, cada uno en una ventana independiente de marco de documento MDI.

    Puede que desee admitir crear una segunda ventana de marco en un documento.El usuario podría elegir un comando nueva ventana de abrir un segundo cuadro con vistas al mismo documento y después de utilizar los dos cuadros para ver a partes diferentes del documento simultáneamente.El marco admite el comando nueva ventana en el menú de la ventana para las aplicaciones MDI duplicando la ventana y la vista iniciales del cuadro asociadas al documento.

  • Objetos de vista de la misma clase en la misma ventana de marco de documento.

    Las ventanas divisoras dividen el espacio de presentación de una sola ventana de documento en vistas independientes de múltiplo de documento.El marco de trabajo crea objetos de vista varios de la misma clase de vista.Para obtener más información, vea divisor Windows.

  • Objetos de vista de clases diferentes en una sola ventana de marco.

    En este modelo, una variación de la ventana divisora, varias vistas comparten una sola ventana de marco.Las vistas se crean a partir de diversos tipos, cada vista que proporciona una manera diferente de ver el mismo documento.Por ejemplo, una vista podría mostrar un documento de un procesador de textos en modo normal mientras que la otra vista lo muestra en modo de esquema.Un control splitter permite al usuario ajuste los tamaños relativos de vistas.

La ilustración siguiente, divide en partes a, b, c y, se muestran los tres modelos de la interfaz de usuario en el orden mostrado anteriormente.

Interfaces de usuarios de varias vistas

Interfaces de usuario de múltiples vistas

El marco de trabajo proporciona estos modelos implementando el comando nueva ventana y proporcionando la clase CSplitterWnd, como se describe en divisor Windows.Puede implementar otros modelos mediante estos como punto de partida.Para los programas de ejemplo que muestran diferentes configuraciones de vistas, de ventanas de marco, y de divisores, vea ejemplos de MFC.

Para obtener más información sobre UpdateAllViews, vea la clase CView en la referencia de MFC y Ejemplo scribble.

Cuadro varios Windows

Puede utilizar el comando nueva ventana en el menú Ventana para que las aplicaciones MDI crean una segunda ventana de marco en el mismo documento.Para obtener más información, vea el primer modelo en la ilustración interfaces de usuario de la Múltiple-Vista.

Divisor Windows

En una ventana divisora, la ventana es, o puede ser, divide en paneles dos o más desplazable.Un control splitter (o “cuadro de división”) del marco de la ventana al lado de las barras de desplazamiento permite al usuario ajuste los tamaños relativos de los paneles.Cada panel es una vista del mismo documento.En divisores “dinámicos”, las vistas son de la misma clase, como se muestra en la parte B de la ilustración interfaces de usuario de la Múltiple-Vista.En divisores “estáticos”, las vistas pueden ser de clases diferentes.Las ventanas divisoras de ambas clases son admitidas por la clase CSplitterWnd.

Ventanas divisoras dinámicas, con vistas de la misma clase, permiten al usuario dividir una ventana en varios paneles en se y después desplácese paneles diferentes para ver partes diferentes del documento.El usuario también puede unsplit la ventana quitar vistas adicionales.Las ventanas divisoras agregadas a Ejemplo scribble son un ejemplo.Este tema describe la técnica para crear ventanas divisoras dinámicas.Una ventana dinámica splitter se muestra en la parte B de la ilustración interfaces de usuario de la Múltiple-Vista.

Las ventanas estáticas splitter, con vistas de varias clases, comienzan con la ventana dividida en varios paneles, cada uno con un propósito diferente.Por ejemplo, en el editor de mapa de bits de Visual C++, la ventana de la imagen muestra dos paneles en paralelo.El panel de la izquierda muestra una imagen vida-clasificada mapas de bits.El panel de la derecha muestra una imagen o esa ampliada lo mismo mapa de bits.Los paneles se separan mediante una “barra de división” que el usuario pueda arrastrar para cambiar los tamaños relativos de los paneles.Una ventana divisora estática se muestra en la parte c de la ilustración interfaces de usuario de la Múltiple-Vista.

Para obtener más información, vea la clase CSplitterWnd en la referencia y ejemplos de MFCMFC.

Vea también

Conceptos

Arquitectura documento/vista