Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-03-2005
YolandaM YolandaM is offline
Miembro
 
Registrado: jul 2003
Posts: 38
Poder: 0
YolandaM Va por buen camino
insertar dinamicamente

Hola que tal. Una ayudita porfa.

Necesito crear dinamicamente en una form x paneles con sus labels y sus edits.
Ejemplo.- el usuario inserta un numero de 1 a 10 y automaticamente tengo que crear los paneles con sus componentes dentro.

Gracias anticipadas.
Responder Con Cita
  #2  
Antiguo 15-03-2005
[Nbull] Nbull is offline
Miembro Premium
 
Registrado: nov 2004
Ubicación: Valencia-España
Posts: 168
Poder: 20
Nbull Va por buen camino
Hola Yolanda, a lo mejor es una chapuza lo que te voy a decir, pero, yo jugaría con las propiedades de tamaño .Width .Height .Top y .Left para distribuirlos en los sitios que quieras en el Form con el tamaño que quieras, y luego los pondria .visible=True.

Ya te digo que lo más seguro que sea una chapuza pero a lo mejor te sirve, de todas maneras si esto no esta bien hecho seguro que alguno de los maquinas que andan por los foros(Son muchos) me corregirán y te ayudarán.


Un saludo y espero haberte ayudado.

Última edición por Nbull fecha: 15-03-2005 a las 16:31:34.
Responder Con Cita
  #3  
Antiguo 15-03-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por YolandaM
Necesito crear dinamicamente en una form x paneles con sus labels y sus edits.
Programa un botón conel siguiente código:

Código Delphi [-]
 procedure TForm1.Button1Click(Sender: TObject);
 var
   i, cont:Integer;
   p:TPanel;
   edt:TEdit;
 begin
 
   cont := StrToInt(Edit1.Text);
 
   for i := 0 to (cont-1) do begin
     p := TPanel.Create(Self);
     p.Left := (20 * i);
     p.Top := 0;
     p.Width:= 20;
     p.Height := 20;
     p.ParentWindow := Self.Handle;
     p.Name := 'panel' + IntToStr(i);
 
     // Un Edit;
     edt := TEdit.Create(Self);
     edt.Left := 5;
     edt.Top := 5;
     edt.Width:= 10;
     edt.ParentWindow := p.Handle;
     edt.Name := 'pEdit' + IntToStr(i);
   end;
 end;

Necesitas un Edit (Edit1) que te indica cuantos debes crear.

Un consejo: Si los "BLOQUES" que debes crear son complejos, tal vez te interese crear un Frame en diseño, añadirle todo lo que necesitas y luego en ejecución crear elementos del tipo de ese Frame.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 15-03-2005
YolandaM YolandaM is offline
Miembro
 
Registrado: jul 2003
Posts: 38
Poder: 0
YolandaM Va por buen camino
Muchas gracias a los dos.
La primera idea de crearlos en la form y luego visible=true; ya la pense, pero no me gusto un poco chapuza tambien codigo inservible.

Neftali: Me puedes indicar esto de los frames como hacerlos. Y luego claro añadir objetos a ese frame.?


Muchas gracias.

Última edición por YolandaM fecha: 15-03-2005 a las 17:44:13.
Responder Con Cita
  #5  
Antiguo 16-03-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
A partir de la versión 5 de Delphi (creo recordar) aparecen los frames. Un Frame es una especie de formulario (no exactamente) que una vez creado puede añadirse a la paleta de componentes y "soltarlo" en formularios como si fuera un único componente (o crearlo en runtime). Es decir que si el "bloque de controles" que vas a crear es complejo, te sale a cuenta hacer un Frame en diseño, colocarlo en la paleta de componentes y luego crearlo en ejecución de forma similar a como hemos hecho con el panel anterior.

File/New/Frame
Lo guardas en un fichero
Y posteriormente añades ese PAS y lo creas en run-time.

Haz las pruebas y si tienes algun problema ya dirás...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 21:33:19.


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
Copyright 1996-2007 Club Delphi