Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: DiabloRojo en Viernes 20 de Mayo de 2005, 15:00
Título: Formulario
Publicado por: DiabloRojo en Viernes 20 de Mayo de 2005, 15:00
Qué tal amigos del foro?
Pues estoy haciendo una aplicación que utiliza un formulario MDI y dentro de éste pueden aparecer otros formularios (hijos). El problema está en que estos formularios hijos son de tipo vbFixedDouble lo que genera que unos se superpongan a otros lo que me impide tener acceso a los formularios que fueron invocados primero. Quisiera saber un par de cosas: 1.-Cómo determino si un formulario ya fue cargado? 2.-Cómo hago para enviar uno de estos formularios no visibles (cubiertos por otro formulario) al frente.
De antemano gracias a todos por la ayuda.
DiabloRojo.
Título: Re: Formulario
Publicado por: Widark en Viernes 20 de Mayo de 2005, 16:13
Hola DiabloRojo!
El formulario mdi es un complique a mi parecer. Este formulario tiene una Propiedad ActiveForm que te dice que formulario tiene el foco en ese instante. Para determinar si el formulario fue cargado yo lo haria con una variable Boolean y para traerla al frente, no se si dandole el foco lo haga, puedes usar la funcion SendKeys, o simplemente, Formulario.SetFocus. Espero sirva de algo.
Saludos.
Título: Re: Formulario
Publicado por: DiabloRojo en Viernes 20 de Mayo de 2005, 17:59
Qué tal Widark.
Gracias por responder tan rápido y por los comentarios los tomaré en cuenta. He estado leyendo la ayuda creo que también puedo hacer uso de la colección Forms para lograr saber si el form está cargado o no. Haré unas pruebas a ver que resulta.
DiabloRojo.
Título: Re: Formulario
Publicado por: DiabloRojo en Sábado 21 de Mayo de 2005, 00:34
Ok. De momento esto me funciona:
Código: Text
For Each frm In Forms
If frm.Name = "[I]NombreForm[/I]" Then
frm.ZOrder'Si lo encuentra lo pone en primer plano
Exit For
End If
Next
'
[I]NombreFormForm[/I].Show'Si lo encontró no hace nada. Si no lo encontró