PacoP's Place

  • Aumentar fuente
  • Fuente predeterminada
  • Disminuir fuente

Progración MDI

E-mail Imprimir
    Se denomina tecnología MDI (Multiple Document Interface) al conjunto de servicios de Windows que posibilita la construcción de aplicaciones capaces de trabajar con múltiples documentos simultáneamente, disponiéndose de una ventana principal o marco, en cuyo interior aparecen las ventanas hijas que pueden ser redimensionadas, minimizadas y maximizadas ajustándose siempre a los límites de la ventana padre.

    Precisamente ANALOGIA.EXE hace uso de esta técnica, de forma que cuando se ejecuta el programa, lo único que aparece es la ventana padre, y según vamos creando ventanas (de esquemas mecánicos, eléctricos y gráficas de resultados) estas aparecen dentro de los límites de la ventana padre (donde hay un fondo verde oscuro inicialmente). Por tanto, aunque cambiemos las dimensiones de la ventana padre, las hijas siempre quedarán dentro de los límites de dicha ventana.

    La ventana principal de el programa (Main) se distingue de cualquier otra por el valor de la propiedad FormStyle, que debe ser fsMDIForm, no pudiendo existir en el mismo proyecto más de una ventana con éste atributo.

    Las fichas hijas (FormDibu, FormElect y FormGraph) se caracterizan por tener el valor fsMDIChild en la propiedad FormStyle, lo que asegura su correcta asociación con la ventana principal. Como vemos, en nuestra aplicación MDI no todas las ventanas tienen que ser hijas, las ventanas de diálogo, de funciones de las fuerzas, etc. no lo son, ni tienen por qué serlo puesto que son ventanas que se ejecutan y desaparecen, y no nos interesa tenerlas presentes simultáneamente con las demás ventanas hijas.

    Con el fin de facilitar la gestión de las ventanas hijas que se pueden encontrar abiertas en un momento dado, existen una serie de propiedades y métodos que nos servirán para establecer su posición y dimensiones, acceder individualmente a ellas, etc. Entre las más significativas se encuentran (son propiedades y métodos que se aplican a la ventana padre y afectan a las hijas):

Propiedades:
 

  • MDIChildCount: indica el número de ventanas hijas abiertas.
  • MDIChildren: Array dinámico de punteros que apuntan a cada una de las ventanas hijas (indexa desde 0 a MDIChildCount-1).
  • ActiveMDIChild: Puntero que apunta a la ventana hija activa en ese momento (solo una puede estar activa en cada momento).
Métodos:
 
  • Previous: Activa la ventana hija anterior.
  • Next:  Activa la siguiente ventana hija.
  • Cascade: Presenta las ventanas hijas en cascada.
  • Tile:  Presenta las ventanas hijas en mosaico.
 
Comentarios (1)
Felicitaciones!!
1 Miércoles, 15 de Abril de 2009 10:40
Eduardo
que interesante esto, y yo que pensaba que sabia usar delphi ...!!!
jejejeje que engreido.

Gracias por compartir tu conocimiento.

Agrega tu comentario

Tu nombre:
Título:
Comentario:
  La palabra para verificación anti SPAM. Letras minúsculas sólamente y sin espacios.
Palabra de seguridad: