AYUDA URGENTE ACERCA DE MDI\'S
Hola,
Mi problema es el siguiente, estoy realizando una aplicacion en la cual estoy utilizando un formulario MDI; en la cual para generar formularios hijos(MDIChild) en tiempo de ejecucion lo realizo con la instruccion Set y New, bueno yo genero lo formularios que se me de la gana, pero lo que pasa es que se generan instancias de un solo formulario asi:
dim formulario as form1
set formulario = new form1
En este codigo solo me genera instancias del formulario form1, bueno esto esta bien, o talvez hay una mejor forma de hacerlo; pero lo que yo quiero saber es la identificacion de cada instancia para controlarla dentro de mi programa. Porque yo puedo generar digamos cuatro formularios form1, pero como me doy cuenta cual es el primero, el segundo, etc.
Yo lo que hacia es que utilizaba la instruccion ActiveForm, pero esa instruccion solo me devuelve el formulario activo en la pantalla es decir el que tiene el enfoque en un momento determinado, pero yo quiero controlarlos aunque no tengan el enfoque, no se si me explico bien.
Espero me brinden su ayuda. Gracias!!!
Mi problema es el siguiente, estoy realizando una aplicacion en la cual estoy utilizando un formulario MDI; en la cual para generar formularios hijos(MDIChild) en tiempo de ejecucion lo realizo con la instruccion Set y New, bueno yo genero lo formularios que se me de la gana, pero lo que pasa es que se generan instancias de un solo formulario asi:
dim formulario as form1
set formulario = new form1
En este codigo solo me genera instancias del formulario form1, bueno esto esta bien, o talvez hay una mejor forma de hacerlo; pero lo que yo quiero saber es la identificacion de cada instancia para controlarla dentro de mi programa. Porque yo puedo generar digamos cuatro formularios form1, pero como me doy cuenta cual es el primero, el segundo, etc.
Yo lo que hacia es que utilizaba la instruccion ActiveForm, pero esa instruccion solo me devuelve el formulario activo en la pantalla es decir el que tiene el enfoque en un momento determinado, pero yo quiero controlarlos aunque no tengan el enfoque, no se si me explico bien.
Espero me brinden su ayuda. Gracias!!!
El unico problema que estas teniendo, es que generas un formulario nuevo en una sóla variable, deberias usar una matriz. Es decir:
Public Dim MisFormularios() as Form '*** Fijate bien, el objeto Form, no el formulario Form1
private sub click()
dim b as long, c as long
b=CreaFormulario() '*** Creamos un formulario nuevo
c=CreaFormulario()
MisFormularios(b).show '**** Mostraria el formulario recien cargado (siempre sabrías cual es, por el indice de la matriz)
MisFormularios(c).show
misformularios(b).setfocus '*** Y le das el foco al primero
end sub
Private function CreaFormulario() as long
dim a as long
a=ubound(MisFormularios)+1
redim preserve MisFormularios(1 to a)
set MisFormularios(a)= new form1 '*** O del que quieras hacer la intancia
CreaFormulario=a '*** Y le devuelves el indice de la matriz
end function
Espero que esto te sirva
Public Dim MisFormularios() as Form '*** Fijate bien, el objeto Form, no el formulario Form1
private sub click()
dim b as long, c as long
b=CreaFormulario() '*** Creamos un formulario nuevo
c=CreaFormulario()
MisFormularios(b).show '**** Mostraria el formulario recien cargado (siempre sabrías cual es, por el indice de la matriz)
MisFormularios(c).show
misformularios(b).setfocus '*** Y le das el foco al primero
end sub
Private function CreaFormulario() as long
dim a as long
a=ubound(MisFormularios)+1
redim preserve MisFormularios(1 to a)
set MisFormularios(a)= new form1 '*** O del que quieras hacer la intancia
CreaFormulario=a '*** Y le devuelves el indice de la matriz
end function
Espero que esto te sirva
