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 07-09-2004
senpiterno senpiterno is offline
Miembro
 
Registrado: abr 2004
Posts: 112
Poder: 21
senpiterno Va por buen camino
Agregar controles a un contenedor

Hola amigos

Me gustaria saber como puedo agregar controles a un contenedor de controles en tiempo de ejecucion, por ejemplo agregar botones o listas a un ScrollBox o Panel. A y como duda adicional, cuantos controles puede soportar un contenedor de estos ??.

De atemano se agradece cualquier ayuda.
Responder Con Cita
  #2  
Antiguo 07-09-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Agregar un control es tan sencillo como crear una nueva instancia del control que te interesa y establecer sus propiedades relevantes.

Por ejemplo, con un botón seria algo como:
(un ejemplo dice mas que mil palabras)
Código Delphi [-]
Procedure TForm1.BotonNuevo;

Var
  bt : TButton;

Begin
  bt := TButton.Create(self);
  bt.parent := Panel1;
  inc(FContadorBotones);
  bt.name := 'boton' + IntToStr(FContadorBotones);
  bt.caption := 'pinchame!';
  bt.left := 10;
  bt.top := 20 * (FContadorBotones - 1);
  bt.onClic := TForm1.BotonClick;
end;

El parent es el "contenedor" en donde aparecera el botón. Me he cuidado de asignar un nombre único al botón, que en este caso, disparará el procedimiento TForm1.BotonClick en su evento OnClick. En este caso la definición BotonClick tiene que coincidir con la de TNotifyEvent. Es decir, recibir un parámetro de tipo TObject y pertenecer a una clase.

Luego, la posición, y listo!.

Cita:
cuantos controles puede soportar un contenedor de estos
NO creo que haya un límite teórico muy bajo en delphi, pues todo es manejado en memoria dinámica. Te limitan la memoria de tu equipo, y los recursos del sistema.

Por si las dudas, el indice de la propiedad controls es de tipo Integer, con lo que el límite teórico impuesto por este es de 2,147,483,647 controles. Te aseguro que tu windows morirá mucho antes de esto..
Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate

Última edición por jachguate fecha: 07-09-2004 a las 07:50:37.
Responder Con Cita
  #3  
Antiguo 07-09-2004
senpiterno senpiterno is offline
Miembro
 
Registrado: abr 2004
Posts: 112
Poder: 21
senpiterno Va por buen camino
Gracias jachguate... me queda muy claro lo de como agregar controles a un contenedor, pero me gustaria que me ayudaras con lo de los eventos que generan estos controles creados dinamicamente, como por ejemplo como crear un array de controles que obedescan todos a un mismo evento, como el onclick por ejemplo....
Responder Con Cita
  #4  
Antiguo 07-09-2004
Avatar de eduarcol
[eduarcol] eduarcol is offline
Miembro Premium
 
Registrado: ago 2003
Ubicación: En los estados Zulia y Merida de Venezuela
Posts: 4.151
Poder: 25
eduarcol Va por buen camino
Cita:
Empezado por jachguate
Código Delphi [-]
  bt.onClic := TForm1.BotonClick;
Disculpa que me meta, pero esa linea hace exactamente lo que tu quieres, lo unico es que debes haber definido un procedure llamado BotonClick con el parametro (Sender: TObject) dentro del formulario
__________________
...Yo naci en esta ribera del arauca vibr@d0r
Soy hermano de la espuma,
de la garza, de la rosa y del sol...
Viva Venezuela
Responder Con Cita
  #5  
Antiguo 07-09-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por eduarcol
Disculpa que me meta
Más aún. He estado leyendo y releyendo el hilo preguntándome por qué jachguate puso en el ejemplo lo del contador. Tal parece que que se anticipó a la segunda pregunta de sempiterno. ¿Será que finalmente le entraron las clases de adivinación?



// Saludos
Responder Con Cita
  #6  
Antiguo 08-09-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
Cita:
Empezado por roman
Tal parece que que se anticipó a la segunda pregunta de sempiterno. ¿Será que finalmente le entraron las clases de adivinación?


es que ahora si he asistido...

Por cierto que no te he visto por alli...

Hasta luego.
__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
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 11:29:00.


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