Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Clonar Form (fsMDIChild) (https://www.clubdelphi.com/foros/showthread.php?t=48228)

ManuelPerez 19-09-2007 02:26:03

Clonar Form (fsMDIChild)
 
Hola necesito saber como clonar formularios fsMDIChild para poder utilizarlos de forma indiferente.
Por ejemplo clonar el formulario de una factura para poder abrir varias facturas como yo quiera.
gracias:rolleyes:

Caro 19-09-2007 04:39:10

Hola Manuel, no te sirve crear el formulario todas las veces que necesites, y cada vez que que abras tu form le pasas el numero de factura para el cual desees mostrar los datos.

Código Delphi [-]
  Form1 := TForm1.Create(Application);
  Form1.show;

Saluditos

Neftali [Germán.Estévez] 19-09-2007 10:11:48

Supongo que caro se refiere a esto:

Código Delphi [-]
  F1 := TForm1.Create(Application);
  F1.show;
  F2 := TForm1.Create(Application);
  F2.show;
  F3 := TForm1.Create(Application);
  F3.show;
  ....

Puedes crear tantas instancias del formulario como necesites.

ManuelPerez 19-09-2007 19:32:04

Hola chicos gracias por la ayuda pero..
 
El problema es como relacionar los form creados con lo programado en el form principal..
Es decir si yo hago
F3:=TForm1.Create(Self)
F2:=TForm1.Create(Self)
Como relaciono el F3 o F2 con el que se creo en el TForm1
Form1:TForm1
No se si soy claro en el codigo del Form1 yo lo nombre varias veces en cada método o función y como se van a relacionar los F3 o F2 en ese caso????
No se si me entienden yo quiero clonar form en los cuales pueda trabajar independientemente , pero a la vez son iguales en composición.

ayudaaaaa
gracias:confused:

maeyanes 19-09-2007 19:44:28

Hola...

Si te explicas mejor... :p

Mira, los formularios los puedes crear tantas veces necesites... así como te explicó Neftali...

Por que no pones algo del código de lo que quieres conseguir?


Saludos...

paldave 19-09-2007 20:36:35

Creo entender que en el código del form1 te refieres varias veces al formulario de facturas, que supongo se debe llamar algo así como FacturaForm.
Si tienes varios de ellos abiertos a la vez y quieres dirigirte a todos ellos lo que debes hacer es, cada vez que te refieras a ese formulario, comprobar todos los forms que tienes abiertos, y si son del tipo TFacturaForm entonces llevar a cabo las acciones deseadas, en código sería algo así:
Código Delphi [-]
for f := 0 to Screen.FormCount - 1 do
    if Screen.Forms[f] is TFacturaForm then
      TFacturaForm(Screen.Forms[f]).Caption:='este es un form de factura';
y si los creas desde el Form1 la declaración correcta para crearlos sería:
Código Delphi [-]
F1:=TFacturaForm.Create(Self)
Espero sea ese tu problema. Te saludo atentamente.

ManuelPerez 19-09-2007 21:07:16

Gracias Paldave..
 
:)Voy a probar con eso.
Muchas gracias

eduarcol 19-09-2007 21:20:13

No se si te entendi, pero si lo que te preocupa es la declaracion

Código:

Form1: TForm1

Form1 en este caso es una variable, tal como Form2 y Form3 y todos heredan de TForm1 q es la clase donde programastes todo

Neftali [Germán.Estévez] 20-09-2007 10:29:57

Cita:

Empezado por ManuelPerez (Mensaje 232299)
El problema es como relacionar los form creados con lo programado en el form principal..

Si las variables de los forms (F1, F2, F3,...) son accesibles, tendrás acceso a los formularios.
No te entendí.:(


La franja horaria es GMT +2. Ahora son las 06:17:21.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi