Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Generar dinàmicamente componentes (https://www.clubdelphi.com/foros/showthread.php?t=96263)

Aitrus 16-06-2023 16:23:42

Generar dinàmicamente componentes
 
Hola,

tengo un Tpanel llamado(PanelObservacion)que dentro de él hay un TPanel (para el título) y un TMemo (Para escribir una observación).


Estoy intentando iterar con, por ejemplo, un FOR, para que me genere 5 veces todo este componente en el form, pero no lo consigo.


He conseguido generar el primer panel pero no he conseguido que me dibuje lo componentes hijos.

¿Alguien puede orientarme un poco como hacerlo?




Gracias a todos.

duilioisola 16-06-2023 17:03:54

El conepto es este:
Código Delphi [-]
procedure TForm.CrearMemo(Padre : TWinControl);
var
  m : TMemo;
begin
  /// Crea un Memo dentro de "Padre" alineado al cliente.
  m := TMemo.Create(Self);
  with m do
  begin
    Parent := Padre;
    Align := alClient;
  end;
end;

procedure TForm.CrearPaneles(Padre : TWinControl);
var
  i : integer;
  p : TPanel;
begin
  /// Crea 5 paneles dentro de "Padre" de 100x100
  for i := 1 to 5 do
  begin
    p := TPanel.Create(Self);
    with p do
    begin
      Parent := Padre;
      Top := 100;
      // Los pego uno a otro cada 100px.
      Left := 100 * i;
      Width := 100;
      Height := 100;
    end;

    CrearMemo(p);
  end;
end;

begin
  [...]
  CrearPaneles(PanelObservacion);
  [...]
end.

edgar1575 14-01-2024 17:00:35

te lo esta creando, sino que lo esta superponiendo en la propiedad top

Casimiro Notevi 14-01-2024 17:55:39

Bienvenido a clubdelphi, por favor, lee nuestra guía de estilo, gracias.


La franja horaria es GMT +2. Ahora son las 04:39:17.

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