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.