PDF de programación - Tema 5. Aplicaciones MDI - Programas de Aplicación III

Imágen de pdf Tema 5. Aplicaciones MDI - Programas de Aplicación III

Tema 5. Aplicaciones MDI - Programas de Aplicación IIIgráfica de visualizaciones

Publicado el 1 de Octubre del 2020
401 visualizaciones desde el 1 de Octubre del 2020
142,3 KB
12 paginas
Creado hace 21a (08/12/2002)
Programas de Aplicación III

Tema 5. Aplicaciones MDI

Luis Rodríguez Baena y María Dorrego Luxán

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática

1

Aplicaciones MDI

MDI: MultipleDocumentsInterface.

Aplicaciones que disponen de un formulario principal y varios formularios

hijos que aparecen dentro de él.

Formulario padre
(MDIForm)

Formularios hijos

Formularios hijos
minimizados

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática © Luis Rodríguez Baena y María Dorrego Luxán, 2002

2

2

Formulario padre

Control MDIForm

Opción Agregar formulario MDI del menú proyecto.
Sólo puede haber un formulario MDI por apliación.
Sólo pueden contener los controles con interfaz visual intrínsecos

Menu y PictureBox y los controles ActiveX que tengan la propiedad
Align.

Propiedad AutoShowChildren.

Valor lógico que indica si los formularios hijo se muestran

automáticamente al cargar los (valor True, opción predeterminada) o
no.

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática © Luis Rodríguez Baena y María Dorrego Luxán, 2002

3

3

Formularios hijo (I)

Formularios normales que tienen la propiedad MDIChild a

True.

Tamaño de los formularios hijo.

Si la propiedad BorderStyle de un formulario hijo permite que su

tamaño sea ajustable (valor 2) el tamaño del formulario se ajustará
automáticamente al tamaño del formulario padre.

Por omisión, los formularios hijo se posicionarán en cascada

respecto al formulario padre.

Menús.

Cada formulario hijo puede tener su propio menú.
Si un formulario hijo tiene menú, éste se superpondrá al que pueda

tener el formulario MDI.

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática © Luis Rodríguez Baena y María Dorrego Luxán, 2002

4

4

Carga de formularios hijo (I)

Si un formulario hijo es el formulario de arranque de la

aplicación, se cargará automáticamente al arrancarla.

Instrucción Load.

Si el formulario MDI tiene la propiedad AutoShowChildren a True,

sólo será necesaria la orden Load.

Load Form1.
Método Show.

Si el formulario MDI no tiene a True la propiedad AutoShowChildren

es necesario utilizar el método Show.

Los formulario hijo no pueden ser formularios modales.

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática © Luis Rodríguez Baena y María Dorrego Luxán, 2002

5

5

Carga de formularios hijo (II)

Carga de instancias de un formulario.

En ocasiones es necesario cargar varias copias de un formulario

hijo.

Será necesario crear varias instancias del mismo.

Dim numForms As Integer
Private Sub mnuNuevo_Click()
Dim frm As New Form1
numForms = numForms + 1
frm.Caption = "Nuevo" & numForms
frm.Show

End Sub

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática © Luis Rodríguez Baena y María Dorrego Luxán, 2002

6

6

Descarga de formularios (I)

Evento QueryUnload.

Se produce justo antes de producirse el evento Unload y permite

detener la descarga.

Cuando se produce la descarga de un formulario padre, primero se

envía el evento al formulario padre y después a todos los
formularios hijo que estén abiertos.

El evento no se produce cuando se cierra la aplicación con la orden End

o cuando se selecciona Terminar dentro del entorno de desarrollo.

Si ningún formulario hijo cancela la descarga, se envía primero el

evento Unload a los formularios hijo y después al formulario
principal.

Se puede utilizar el evento en los formularios hijo para asegurarse

de que no hay tareas pendientes de ejecutar en los formularios
antes de cerrarlos.

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática © Luis Rodríguez Baena y María Dorrego Luxán, 2002

7

7

Descarga de formularios (II)

Private Sub Form_QueryUnload(cancelar As Integer, modoDescarga As Integer)
Private Sub MDIForm_QueryUnload(cancelar As Integer, modoDescarga As Integer)
Argumento cancelar.

La asignación de cualquier valor distinto de 0 produce la cancelación de la

descarga.

Argumento modoDescarga.

Indica la razón por la que se ha producido el evento.

0 - vbFormControlMenu. El usuario eligió el comando Cerrar del menú Control

del formulario.

está finalizando.

cerrando la aplicación.

1 – vbFormCode.Se invocó la instrucción Unload desde el código.
2 – vbAppWindows. La sesión actual del entorno operativo Microsoft Windows

3 – vbAppTaskManager. El Administrador de tareas de Microsoft Windows está

4 – vbFormMDIForm.Un formulario MDI secundario se está cerrando porque el

formulario MDI también se está cerrando.

5 – vbFormOwner. Un formulario se está cerrando por que su formulario

propietario se está cerrando.

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática © Luis Rodríguez Baena y María Dorrego Luxán, 2002

8

8

Descarga de formularios (III)

Ejemplo: evento QueryUnload de un formulario hijo para

comprobar si el archivo se ha guardado.

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode as Integer)

If Cambio Then ‘Esta variable lógica indica si el archivo ha cambiado

Select Case MsgBox("El archivo no ha sido guardado " & _

"¿Desea guardarlo?", _
vbYesNoCancel, Me.Caption)

Case vbYes
mnuArchivoGuardar_Click
Case vbNo
Exit Sub
Case vbCancel
Cancel = True

End Select

End If

End Sub

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática © Luis Rodríguez Baena y María Dorrego Luxán, 2002

9

9

Referencia a los formulario hijo (I)

Cuando se cargan instancias de un formulario, el nombre

del formulario no sirve para referirse a él.

Propiedad ActiveForm del control MDIForm.

Devuelve una referencia al formulario Activo.

ActiveForm.Text1, haría referencia al control Text1 del formulario

activo.

Se utiliza para referirnos al formulario hijo desde el formulario

padre.

Me.

Hace referencia al formulario actual.

Me.Caption, haría referencia al título del formulario actual.

Se utiliza para referirnos al formulario desde el código del propio

formulario.

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática © Luis Rodríguez Baena y María Dorrego Luxán, 2002

10

10

Referencia a los formulario hijo (II)

Colección Forms.

Hace referencia a todos los formularios abiertos de la aplicación.
El formulario padre sería el de índice 0 si ha sido el primero en

abrirse.

La propiedad Forms.Count indica el número de formularios abiertos.

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática © Luis Rodríguez Baena y María Dorrego Luxán, 2002

11

11

El menú ventana

Propiedad WindowList del control Menu.

En el menú aparece una lista con el título de todos los formularios

hijo.

Método Arrange del control MDIForm.

Organiza los formularios hijo.
Arrange distribución
distribuciónpuede tomar los valores:

0 – vbCascade.
1 – vbTileHorizontal.
2 – vbTileVertical.
4 – vbArrangeIcons

Universidad Pontificia de Salamanca (campus Madrid)
Facultad de Informática © Luis Rodríguez Baena y María Dorrego Luxán, 2002

12

12
  • Links de descarga
http://lwp-l.com/pdf18291

Comentarios de: Tema 5. Aplicaciones MDI - Programas de Aplicación III (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad