Hola a todos, si bien hay varias cosas dando vueltas acerca de este tema me quedan un par de dudas al respecto y de paso por si alguien tiene las mismas dudas planteo este hilo para globalizar un poco el tema del manejo de componentes en tiempo de ejecución.
Baso el ejemplo en los Labels:
- Crear Labels:
Código Delphi
[-]var
Favorito: TLabel;
cant_favoritos: integer;
begin
cant_favoritos: =0;
Favorito := TLabel.Create(Self);
Favorito.Parent := sScrollBox_favorito;
Favorito.Align := alTop;
Favorito.Cursor:=crHandPoint;
Favorito.Font.Color:=$00B23D00;
Favorito.Caption:=DM.IBDataSet_favoritoNOMBRE.Value;
Favorito.Name := 'Favorito_'+IntToStr(cant_favoritos);
Favorito.PopupMenu:=PopupMenu_elim_favorito;
end;
Bueno, en este caso uso la variable cant_favoritos para controlar el nombre del componente
-Eliminar Labels:
Código Delphi
[-]var
i:Integer;
begin
for i:=ComponentCount -1 downto 0 do
begin
if (Components[i] is TLabel)then
Components[i].free;
end;
end;
Con este codigo (obtenido de otro hilo) elimino los componentes Labels.
Hasta ahí todo bien, las dudas que me surgen ahora son las siguientes:
-¿Cómo borrar un único componente que fue creado en tiempo de ejecución?
-¿Cómo borrar todos los componentes que fueron creados en tiempo de ejecución?
-¿Cómo asignarle eventos (como por ejemplo el OnClick) a cada componente que voy creando en tiempo de ejecución?
-¿Como referenciar componentes creados en tiempo de ejecucion para cambiarles sus propiedades como por ejemplo el color, fuente, etc.?
Bien, creo que esas son las cosas basicas que podemos hacer con los componentes creados en tiempo de ejecución, o al menos es lo que yo estoy necesitando hacer.
Desde ya se agradece cualquier aporte a la causa...
Saludos!!!
