Ajudar para codificar evento em runtime
Necessito criar um TForm + TEdit + TButton e codificar o evento OnClick do TButton, mas só que tudo em runtime . Tentei fazer mas sem sucesso... Como faço isso? Estou errando basicamente na criação do evento e seu código de execução.
Obrigado a todos e aguardeço desde já a quem puder ajudar.
Obrigado a todos e aguardeço desde já a quem puder ajudar.
Aprendiz_ce
Curtidas 0
Respostas
Vitor Alcantara
23/10/2008
Aqui um pequeno exemplo de se fazer isso via run-time
primeiro declaro a procedure do botão na sessão private do meu form por exemplo:
Depois é só atribuir ao evento OnClick do botão
primeiro declaro a procedure do botão na sessão private do meu form por exemplo:
type
TForm1 = class(TForm)
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
procedure BotaoClick(Sender: TObject);//Aqui ta a declaração
{ Private declarations }
public
{ Public declarations }
end;
Depois é só atribuir ao evento OnClick do botão
procedure TForm1.Button3Click(Sender: TObject); var frm:tForm; Botao : tButton; Edit : tEdit; begin Try //Instancia o form Frm := TForm.Create(nil); //Instancia o botão Botao := TButton.Create(Frm); //Insancia o edit Edit := TEdit.Create(Frm); with Botao do begin Parent := frm; //Aqui indico o evento OnClick do botão //lembrando que esse evento foi declarado acima //dentro da class do meu form atual. OnClick := BotaoClick; Caption := ´Testar´; Left := 8; Top := 35; end; with Edit do begin Parent := frm; Name := ´Edit´; Left := 8; Top := 8; end; frm.ShowModal; Finally Frm.Free; End; end;
GOSTEI 0
Aprendiz_ce
23/10/2008
[quote:56e15536c6=´Vitor Araujo Alcantara´]Aqui um pequeno exemplo de se fazer isso via run-time
primeiro declaro a procedure do botão na sessão private do meu form por exemplo:
Depois é só atribuir ao evento OnClick do botão
[/quote:56e15536c6]
Olá Vitor,
Ajustei o código as minhas necessidade e ficou certinho.
Obrigado pela atenção.
Abraço.
primeiro declaro a procedure do botão na sessão private do meu form por exemplo:
type
TForm1 = class(TForm)
Button3: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
private
procedure BotaoClick(Sender: TObject);//Aqui ta a declaração
{ Private declarations }
public
{ Public declarations }
end;
Depois é só atribuir ao evento OnClick do botão
procedure TForm1.Button3Click(Sender: TObject); var frm:tForm; Botao : tButton; Edit : tEdit; begin Try //Instancia o form Frm := TForm.Create(nil); //Instancia o botão Botao := TButton.Create(Frm); //Insancia o edit Edit := TEdit.Create(Frm); with Botao do begin Parent := frm; //Aqui indico o evento OnClick do botão //lembrando que esse evento foi declarado acima //dentro da class do meu form atual. OnClick := BotaoClick; Caption := ´Testar´; Left := 8; Top := 35; end; with Edit do begin Parent := frm; Name := ´Edit´; Left := 8; Top := 8; end; frm.ShowModal; Finally Frm.Free; End; end;
Olá Vitor,
Ajustei o código as minhas necessidade e ficou certinho.
Obrigado pela atenção.
Abraço.
GOSTEI 0