Fórum Criar componente(TPanel) Via código #367737

15/01/2009

0

Olá Pessoal!
Estou criando um sistema e esbarrei em um problema.
Bom, parte das funcionalidades do sistema é responsável pelo
cadastramento de ´quarto´, o problema é que e a cada registro
novo que for adicionado, é criado um TPanel na janela principal, fazendo
referência a este quarto(registro).
Alguém tem uma luz para este probelma?!

Desde já Obrigado! :)


Fabricio.ribeiro

Fabricio.ribeiro

Responder

Posts

16/01/2009

Vmlima

Caro colega, utilize este exemplo de botões criados dinamicamente para um sistema de mesas de restaurante para fazer o seu com panels...


procedure TForm1.Button1Click(Sender: TObject);
var b:tbutton;
begin
   for contador:=1 to 10 do begin
      b:=Tbutton.create(self);
      b.visible:=false;
      b.parent:=self;
      b.left:=10;
      b.top:=Contador*30;
      b.Caption:=IntToStr(contador);
      b.name:=´Btn´+inttostr(contador);
      b.visible:=true;
   end;
end;


Espero ter ajudado, senão, email me e eu te ajudo, fazendo com panels mesmo...
att.


Responder

Gostei + 0

16/01/2009

Fabricio.ribeiro

Obrigado vmlima!
Farei o devido teste!


Responder

Gostei + 0

16/01/2009

Fabricio.ribeiro

Olá novamente!
Fiz o teste com código acima e foi um sucesso,
porém surgiu outra dúvida como faço para criar
eventos destes componentes que serão criados
após a exeção da aplicação?!


Responder

Gostei + 0

16/01/2009

Woinch

Basta você criar uma procedure com exatamente o mesmo cabeçalho do evento que você quer criar, por exemplo o OnExit:

procedure TForm1.ExecutaExit(Sender: TObject);
begin
  ShowMessage(´Executou Exit!´);
end;


E atribuir o evento como se fosse uma propriedade:

b.OnExit := ExecutaExit;


Espero ter ajudado...


Responder

Gostei + 0

16/01/2009

Vmlima

Mais mastigado impossivel...


procedure TForm1.Button1Click(Sender: TObject);
var b:tbutton;
begin
   for contador:=1 to 10 do begin
      b:=Tbutton.create(self);
      b.visible:=false;
      b.parent:=self;
      b.left:=10;
      b.top:=Contador*30;
      b.Caption:=IntToStr(contador);
      b.name:=´Btn´+inttostr(contador);
      b.visible:=true;
      b.onclick:=clicou;
   end;
end;

procedure TForm1.clicou(sender: TObject);
begin
   ShowMessage( (sender as TButton).Name );
end;


Tente aí, divirta-se...

Att...


Responder

Gostei + 0

16/01/2009

Fabricio.ribeiro

Muito Obrigado vmlima!
Eu ja havia tentando criar os proceditmentos,
porém faltava atribuição o evento ao qual
o componente faz referência durante a sua criação.

Obrigado!


Responder

Gostei + 0

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

Aceitar