1. Formulario MDI
Los formularios MDI son un tipo de formulario que contiene a otros
formularios dentro. Sirve de fondo de la aplicación y facilita la
distribución de las ventanas (estas no están regadas por toda la
pantalla.)
Un proyecto solo puede contener un formulario MDI, pero si todos los
formularios MDI secundarios que sean necesarios. Un formulario MDI se
denomina padre y los secundarios hijos (Childs).
Formulario MDI padre
Es el contenedor de los formularios secundarios.
Una aplicación solo puede tener un formulario MDI.
Solo pueden contender controles Toolbar, Statusbar y PictureBox. No es
posible colocar otro control en el formulario MDI.
Agregar un formulario MDI padre:
2. Formularios MDI hijos
Todo formulario hijo se encuentra dentro del MDI padre.
Cuando se minimiza una ventana hija, su icono aparece en la ventana
padre y no en la barra de tareas.
Cuando se maximiza una ventana hija, ocupa toda el área interna del
formulario padre.
Agregar un formulario MDI hijo
Los formularios MDI hijos son los formularios normales, con la propiedad
MDIChild establecida a True.
Mostrar un formulario hijo
El siguiente procedimiento de evento clic del menú Nuevo muestra un
nuevo formulario cada vez que el usuario hace clic en el menú.
1 Private Sub mnuFileNew_Click()
2 Dim frmD As frmDocument
3 Set frmD = New frmDocument
4 frmD.Show
5 End Sub
Si bien el código anterior genera nuevos formularios, todos estos son
creados con la misma variable. Si queremos referirnos al mismo
formulario se usa la palabra reservada Me, que es el alias de los
formularios para referirse a si mismos.
3. Si queremos referirnos al formulario activo, debemos usar la propiedad
ActiveForm.
Esta es una propiedad el formulario MDI. Con él es posible referirse a
cualquier propiedad, método o evento del formulario hijo activo.
Al igual que los formularios normales, los formularios MDI pueden
contener menús. Igual se los crea mediante el editor de menús.
Así mismo los formularios hijos pueden contener menús, pero estos
aparecerán en la barra de menús del MDI y no en el formulario
secundario.
Los formularios MDI, son formularios contenedores, no aceptan la
mayoría de los controles, pero entre los que aceptan, son los menús que
podes armar con la herramienta de menú
Cuando tu proyecto se ejecuta, el MDI se abre y muestra el menú, a
manera de escritorio en la PC, todos los demás formularios se abren
dentro de este, para lo cual hay que declararlos MDI children (en
propiedades) hijos del MDI.
Los menú, tienen un nombre para presentar, un nombre para el
programa, y ejecutan un comando como un botón de comando, que
puede ser ir a un formulario u a otro o salir del programa.
A su vez, creas submenús (desplazando hacia la derecha) estos te
aparecen como opciones del primer ítem que no tiene puntitos adelante,
para hacer las líneas separadoras, presenta el guion medio y como
nombre para el programa, uno distinto para cada separador como sep1
sep2 etc
También en el menú, podes elegir el medio abreviado, (como accionarlo
con combinación de teclas).
Un menú como de Windows quedaría más o menos asi:
Archivo
...Nuevo
......Documento de Oficce
......-
......Documento de texto en blanco
...-
...Abrir
4. ...-
...Guardar
...-
...Cerrar
...-
...Salir
Creación de un Formulario MDI
Para crear una aplicación MDI se empezará a crear un nuevo proyecto y,
se accede a Insert/MDI Form. El nuevo formulario será el formulario
padre. Para que un formulario sea un formulario hijo, se deberá cambiar
su
propiedad MDIChild y establecerla a True.
Cuando se visualizan varios formularios hijos, todos comparten el mismo
código, pero cada uno de ellos guarda sus propios datos y reconoce sus
propios sucesos. Según ésto, no se podrá utilizar el identificador del
formulario para referirse a los controles o a sus propiedades, aunque sí
se podrá utilizar la palabra clave Me.
1.- Una vez creada una aplicación ejecutable o EXE Estándar, clic
derecho en la venta de proyectos... Agregar // Formulario MDI
5. Visual Basic incorpora una herramienta llamada editor de menúes para
poder crearlos
Ejemplo de cómo crear un editor de documentos MDI
Iniciar un nuevo proyecto Exe, añadir un formulario MDI y dejarlo por
defecto con el nombre Mdi Form1. También agregar un formulario y
renombrarlo aFrmDocumento
Las opciones que tendrá el editor serán:
1. En el menú Archivo: Abrir, Nuevo, guardar , guardar como y
salir
2. El menú Edición : Copiar, Cortar, Pegar y seleccionar Todo.
Los menús de cabecera y submenues
Los menúes de cabecera son los menúes principales que contienen otros
submenues. Por ejemplo en el menú del internet explorer, el menú
archivo es el menú de cabecera o de primer nivel, y las opciones
internas de este (abrir, guardar, imprimir, cerrar, etc...) son los
submenues que están en un nivel por debajo del menú archivo.
Crear un menú
1. El primer paso es diseñar un buen diagrama que incluya la
mayoría de las opciones, para que el usuario las pueda tener a
mano también en el menú.
2. Si observas otras aplicaciones, estas respetan el orden y ubicación
de sus menues, es decir que si estás creando un programa que
tiene opciones para imprimir una hoja, esta se encontrarán en la
sección del menú archivo, si tienes opciones de edición del
documento como cortar copiar, pegar , seleccionar todo, etc..., las
encontrarás en el menú "edición", si deseas crear un formulario
"acerca de..", lo ubicarás en el menú ayuda con el "nombre acerca
de...". esta forma de diseño y diagramación es fundamental para
que el programa sea estándar y aceptado por todos, por llamarlo
de alguna manera, ya que si bien nosotros recordamos el nombre
y donde se encuentra ubicada cada opción, un usuario o tercero
debe resultarle lo mas sencillo posible el acceso a las opciones del
mismo.
6. Agregar elementos en un menú
El siguiente ejemplo consiste en un formulario que contiene solo un
control label que nos mostrará una leyenda con el texto del menú que
seleccionamos o presionamos.
El menú estará compuesto por 3 menues de cabecera, el primero
llamado "Archivo", el segundo "Edición" y el último "Ayuda". A su vez
cada menú tendrá los siguientes submenues:
1. Archivo : Este menú contendrá los submenues " Abrir ", "
Guardar ", " Imprimir " y " Cerrar "
2. Edición: Contendrá los submenues " Cortar ", " Copiar ", " Pegar
", " Seleccionar todo "
3. Ayuda : Tendrá los submenues " Ayuda " y " Acerca de.. "
Los nombres de los menues deberán ser los siguientes:
Menú Archivo:
1. Abrir: mnuAbrir
2. Nuevo: mnuNuevo
3. Guardar: mnuGuardar
4. Guardar Como: mnuGuardarComo
5. Salir: mnuSalir
Ya hemos creado el formulario MDI, ahora agreguemos el Menú, para
hacerlo clic derecho en el interior del formulario MDI y escoger la opción
Editor de menús.
Para ello vamos a tomar en cuenta los pasos que se debe seguir para
crear un menú de opciones dentro de un formulario MDI tal y como se
detalla a continuación:
En la ventana MDI que aparecerá, haz clic derecho con el mouse y haz
clic en editor de menus a continuación empieza a crear los menús de la
siguiente forma...
7. Si deseas ubicar el nombre Raíz deberás poner en caption el Nombre del
grupo, en este caso yo use Programa (por que en este grupo estarán
todas las opciones para controlar el programa en forma general,
ejemplo Cerrarlo) luego en el campo NAME tienes que poner el nombre
del control (este nombre no se mostrara pero servirá para que visual
basic pueda reconocer al menú como un elemento independiente y por
tal motivo tiene que ser diferente del resto que vayas a poner) En el
nombre o NAME tienes que utilizar las siguientes abreviaturas, para un
nombre RAIZ o Grupo usas "Mn" (Menu) y para una opción que ira
dentro de ese grupo usas la abreviatura "Opc" (Opción) ahora para
asignar una opcion basta con presionar la Flecha que señala hacia la
Derecha (->) y listo veras que es muy sencillo crear menus en VB6.
8. Para comenzar la codificación de cada Menú basta con hacerle clic
encima y aplicar el código respectivo. Como puedes ver en la siguiente
imagen, hice clic al Menu programas luego a la opción Cerrar y se abrió
la ventana de código. Para cerrar el programa el código es simplemente
poner la palabra END.
PRACTICA:
Ejercicio práctico demostrativo creando menús.