Fórum Criando componentes em tempo de execucao #423118
03/09/2012
0
Estou com dificuldades em criar componentes em tempo de execução.
Os componentes devem ficar dentro de um scrollBox.
Já consegui fazer com que o scroolBox receba os panels, mas dentro dos panels deve conter um progressBar. Nao sei como faço para avisar na criacao do componente que o progress irá dentro do panel criado !
Vejam como está o codigo, lembrando que ele pega da base.
// Coloca no primeiro registro do select
qestoque.First;
// enquanto nao chega no ultimo
while qestoque.Eof = false do
Begin
// Cria o panel
P := TPanel.Create(Self);
P.align := alLeft;
P.Width := 50 ;
P.Height := 95;
// Cria um nome para o panel com um numero para poder ser unico
P.Name := 'Painel' + inttostr(x);
//Fala para o componente ser criado dentro do ScroolBox
P.Parent := sb1;
// Criacao do Progress
Pg := TcxProgressBar.Create(Self);
Pg.Properties.Orientation := cxOrVertical;
Pg.AutoSize := false;
Pg.Left := 10;
Pg.Top := 20;
Pg.AlignWithMargins := true;
Pg.Width := 30;
Pg.Height := 63;
Pg.Name := 'Progress' + inttostr(x);
// Como definir o componente que vai ser recebido o progress se ele nao esta no form ? gera um erro no delphi
Pg.Parent := ???;
qestoque.Next;
x := x +1;
End;
Geison
Curtir tópico
+ 0Posts
03/09/2012
Alan Souza
Pg.Parent := p;
mas o código não pode ser reexecutado sem destruir todos os componentes dentro do ScrollBox.
Gostei + 0
03/09/2012
Geison
deve-se colocar o nome do objeto criado (correto ?) no parent, aí foi.
Obrigado !
Gostei + 0
03/09/2012
Alan Souza
Gostei + 0
03/09/2012
Geison
Gostei + 0
03/09/2012
Deivison Melo
Gostei + 0
06/09/2012
Geison
eu faço isso usando o
DestroyComponents
Gostei + 0
11/09/2012
Alan Souza
for i := 0 to Pred(ScrollBox.ControlCount) do
ScrollBox.Controls[0].Free;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)