SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: chryobcn en Miércoles 28 de Abril de 2004, 15:40
-
Saludos
Aqui os planteo mi duda.
Tengo un formulario mdi desde el cual quiero que se tenga acceso a los diferentes apartados del programa y necesito que al abrir un formulario hijo este sea como modal, que no se permita acceder al formulario padre hasta que el hijo no se cierre.
una opcion seria poner todos los menus desactivados, igual que la barra de botones... pero no me acaba de convencer, a ser possible me iria bien que el formulario padre no pareciese que perdiese el foco (el color de la barra de titulo se queda como apagado)
Gracias por vuestra atencion
-
Lamentablemente la opcion barata y sencilla es la que planteas.
Pero si la quieres hacer lo menos complicada, utiliza un procedimiento con un parametro de entrada que te indica la modalidad del menu
Por ejemplo:
Public Sub Bloquear_Desbloquear_Menu(Byval Flag as Integer)
'Si Flag=0, se inhabilitan los menus
'Si Flag=1, se habilitan los menus
mdiPrincipal.mnuMenu1.enabled=iif(Flag=0,False,True)
mdiPrincipal.mnuMenu2.enabled=iif(Flag=0,False,True)
mdiPrincipal.mnuMenu3.enabled=iif(Flag=0,False,True)
mdiPrincipal.mnuMenu4.enabled=iif(Flag=0,False,True)
mdiPrincipal.mnuMenu5.enabled=iif(Flag=0,False,True)
End Sub
Entonces, en el mnuMenu1 pones
Private Sub mnuMenu1_Click()
Call Bloquear_Desbloquear_Menu(0)
form1.show
End Sub
Y en el form hijo, al cerrarse, simplemente utilizas
Call Bloquear_Desbloquear_Menu(1)
Es la mas facil que he encontrado, a menos que utilices API, que al final de cuentas hace lo mismo
-
Saludos
Genial, funciona a la primera y sencillisimo, muchisimas gracias. Asi me sera más fácil hacer el diseño del proyecto de fin de curso aunque aun queda tela pa acabar un programa de gestión de un hotel.
Hasta Otra
-
Hola.
Infórmate acerca de la propiedad NegotiateToolbars del form MDI.
Ten también en cuenta que no tienes por que hacer que el resto de los formularios sean todos MDIChild, también puedes usar forms NO MDIChild abiertos como modales.