GARANTIR DESCONTO

Fórum criar vários componentes e destruir somente alguns #266990

01/02/2005

0

Estou criando um form que tem a possibilidade de criar vários lábels
em tempo de execução. O meu problema é que queria destruir ou alterar algumas propriedades desses labels, só não estou conseguindo, pois não consigo dizer qual é o componente que criei e que estou selecionado no momento.


Acacio

Acacio

Responder

Posts

01/02/2005

Marcio.theis

Porque vc não faz no momento da criação dos labels que vc coloca o nome poderia personalizar, colocando determinado tipo, ex.: lbl_tipo1_1 ou lbl_tipo2_2, ai vc pode varrer os componentes no momento que encontrar um label verificaria de que tipo ele é. Um idéia que eu dou.


Responder

Gostei + 0

01/02/2005

Rômulo Barros

Adicione dois TButons no seu projeto e configure o Name para btnCriarLabels e btnDestruirLabels. Após isso, siga os passos:
[color=red:e1efaf889b][b:e1efaf889b]1 -[/b:e1efaf889b][/color:e1efaf889b] Declare a matriz MeusLabels na seção pública da sua Unit:

   Public
      MeusLabels : Array[0..3] Of TLabels;
   ...
   ...


[color=red:e1efaf889b][b:e1efaf889b]2 -[/b:e1efaf889b][/color:e1efaf889b] Agora vamos implementar o evento OnClick do botão btnCriarLabels:

procedure TForm1.btnCriarLabelsClick(Sender: TObject);
Var
   Contador : Byte;
begin
   For Contador := 0 To 3 Do
   Begin
      MeusLabels[Contador]           := TLabel.Create(Form1);
      MeusLabels[Contador].Caption   := ´Label ´ + IntToStr(Contador);
      MeusLabels[Contador].Name      := ´lbl´    + IntToStr(Contador);
      MeusLabels[Contador].Parent    := Form1;
      MeusLabels[Contador].Top       := ((Contador + 1) * 20);
   End;
end;


[b:e1efaf889b][color=red:e1efaf889b]3 - [/color:e1efaf889b][/b:e1efaf889b] E agora, por último, vamos implementar o botão ´btnDestruirLabels´:

procedure TForm1.btnDestruirLabelsClick(Sender: TObject);
Var
   Contador : Byte;
begin
   For Contador := 0 To 3 Do
   Begin
      MeusLabels[Contador].Destroy;
   End;
end;


[color=red:e1efaf889b][b:e1efaf889b]Agora vc poderá alterar qualquer propriedade dos seus labels criados, acessando os mesmos pelos vetores. Exemplo:[/b:e1efaf889b][/color:e1efaf889b]
MeusLabels[0].Caption >= ´Novo Caption do Label ´ + MeusLabels[0].Name ;



Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar