Desviando enventos do componente
Bom dia pessoal,
Tenho um grande problemão.
Na minha aplicação eu estou criando componentes em tempo de execução, porém preciso adicionar o evento onclick em todos os componentes. Como eu faço para em tempo de execução adicionar o evento on click para os componentes.
Eu havia imaginado criar uma procedure após criar o componente passar
componente.Onclick := Procedure, só que não funciona.
Alguém pode me ajudar?
Obrigado
Tenho um grande problemão.
Na minha aplicação eu estou criando componentes em tempo de execução, porém preciso adicionar o evento onclick em todos os componentes. Como eu faço para em tempo de execução adicionar o evento on click para os componentes.
Eu havia imaginado criar uma procedure após criar o componente passar
componente.Onclick := Procedure, só que não funciona.
Alguém pode me ajudar?
Obrigado
Biffi
Curtidas 0
Respostas
Cebikyn
11/12/2003
Componente.OnClick := Procedure, só funciona se a procedure tiver os mesmos parâmetros do evento desejado e tb se a mesma estiver declarada no form (seção Public, Private, Protected, etc...).
Qualquer outra dúvida sobre o assunto (ou problemas com esta resposta), deixe uma mensagem aqui.
Qualquer outra dúvida sobre o assunto (ou problemas com esta resposta), deixe uma mensagem aqui.
GOSTEI 0
Maicongabriel
11/12/2003
Em Type, crie um objeto para a manipulação de Eventos
Declare as variáveis globais
Crie a procedure OnClick do objeto
Crie um botão dinâmico
É isso! abraços...
type TObj = Class(Tcomponent) public procedure OnClick(Sender: TObject); end;
Declare as variáveis globais
var obj : TObj; btnTeste : TButton;
Crie a procedure OnClick do objeto
procedure TObj.OnClick(Sender: TObject); begin if Sender = btnTeste then ShowMessage(´O Botão Teste foi clicado!´); end;
Crie um botão dinâmico
btnTeste := TButton.Create(Self); with btnTeste do begin Width := 60; Height := 25; Caption := ´Teste´; Left := 10; Top := 10; Visible := True; Parent := Self; OnClick := Obj.OnClick; end;
É isso! abraços...
GOSTEI 0