• Martes 19 de Noviembre de 2024, 13:36

Autor Tema:  Duplicar Formulario  (Leído 2798 veces)

pacegar

  • Miembro MUY activo
  • ***
  • Mensajes: 108
  • Nacionalidad: es
    • Ver Perfil
    • INTEGRA Canarias
Duplicar Formulario
« en: Martes 1 de Junio de 2004, 19:11 »
0
Hola chic@s
Necesito en tiempo de ejecucion, el poder duplicar un formulario.

un ejemplo para que me entendais es por ejemplo el tipo archivo->nuevo del Excel.... que me permite tener varias hojas abiertas

Pues yo necesito algo parecido pero para mi aplicación.

Alguien tiene soluciones?
Gracias por todo
un saludo
Pedro Acevedo
Director de Desarrollo
INTEGRA Tecnología y Comunicación de Canarias
www.integracanarias.com

Juanolo

  • Miembro MUY activo
  • ***
  • Mensajes: 202
    • Ver Perfil
Re: Duplicar Formulario
« Respuesta #1 en: Martes 1 de Junio de 2004, 19:19 »
0
Estuve probando algunas ideas, y esta resulta:

Código: Text
  1.  
  2. Private Sub DuplicaFrm()
  3.     Dim frmTemp As Form
  4.     Set frmTemp = New form1
  5.     frmTemp.Show
  6. End Sub
  7.  
  8.  

Espero sirva para lo que necesitas.

Salu2. :hola:
La luz que sólo se ilumina a sí misma, es oscuridad.

pacegar

  • Miembro MUY activo
  • ***
  • Mensajes: 108
  • Nacionalidad: es
    • Ver Perfil
    • INTEGRA Canarias
Re: Duplicar Formulario
« Respuesta #2 en: Miércoles 2 de Junio de 2004, 11:24 »
0
ok, perfecto!
Muchas gracias por la rápida contestación
Pedro Acevedo
Director de Desarrollo
INTEGRA Tecnología y Comunicación de Canarias
www.integracanarias.com

pacegar

  • Miembro MUY activo
  • ***
  • Mensajes: 108
  • Nacionalidad: es
    • Ver Perfil
    • INTEGRA Canarias
Re: Duplicar Formulario
« Respuesta #3 en: Miércoles 2 de Junio de 2004, 13:58 »
0
Ok, todo bien
Pero a la hora de saber el form activo de los muchos que tengo abiertos, ¿como lo se? Porque con la propiedad .name me devuelve el nombre original.

Necesito saber cual es el formulario activo, porque hago unos procesos en otro formulario y luego retorno valores al formulario origen.

(no se si me he explicado bien, asi que pongo un ejemplo mas gráfico)


form01   form02   form02 --> (formularios iguales duplicados)
          \      |       /
            \    |     /
          FormProceso
                 |
debe devolver los valores
al formulario que lo solicito
(form01, form02 o form03)
Pedro Acevedo
Director de Desarrollo
INTEGRA Tecnología y Comunicación de Canarias
www.integracanarias.com

Blag

  • Moderador
  • ******
  • Mensajes: 697
    • Ver Perfil
    • http://atejada.blogspot.com
Re: Duplicar Formulario
« Respuesta #4 en: Miércoles 2 de Junio de 2004, 18:20 »
0
Es muy sencillo  B)

Declara un objeto tipo form, en un módulo y hazlo público:

Código: Text
  1. Public ActiveForm As Form
  2.  

Luego, en el Form_Activate de cada formulario generado, es decir, en el principal, para que los generados lo hereden, coloca el nombre del formulario.

Código: Text
  1.  
  2. Private Sub Form_Activate()
  3. Set ActiveForm = New frmTemp
  4. End Sub
  5.  
  6.  

Así, obtienes en la variable ActiveForm, el nombre del formulario activo.

Saludos,

Blag  :devil:

damian_dmn

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Duplicar Formulario
« Respuesta #5 en: Jueves 3 de Junio de 2004, 04:42 »
0
mira tenes una forma facil de controla todo

en un modulo creas un arreglo donde el tipo sea el formulario que queres multiplicar y un contador con valor inicial 0

Código: Text
  1.  
  2. dim forms() as frmMaestro
  3. contador as integer
  4. contador=0
  5.  
  6.  

y en el formulario donde lo creas pones
Código: Text
  1.  
  2. redim preserve forms(contador) as frmMaestro
  3. forms(contador)=new frmMaestro
  4. contador=contador+1
  5.  
  6.  

y ahi tenes un arreglo dinamico de formularios, para llamarlos por el indice

cualquier cosa que necesites me mandas un mail

bye