Como mudar o Evento de um componente a partir de outro?

Delphi

23/12/2004

Ae rapaziada, blz?

To precisando do seguinte, com Delphi 6

Estou fazendo um componente, e esse componente precisa ADICIONAR procedimentos ao evento de um determinado componente na tela, um edit por exemplo.

Digamos que, para cada componente que eu escolher, quando ele ganhar o foco, execute um ShowMessage(); (nao é isso, mas serve de exemplo)

Mas, eu nao posso perder o que esse componente fazia antes.

Vamos dizer que é um campo de CNPJ, e ele faz uma verificacao no OnEnter. Além dessa verificacao, ele exibirá a mensagem do meu componente

Espero ter sido claro, e que me ajudem.

Desde já, obrigado e Feliz Natal a todos!


_chiappone_

_chiappone_

Curtidas 0

Respostas

Marcelo Saviski

Marcelo Saviski

23/12/2004

uma maneira seria assim, crie uma procedure com os mesmos parametros do evento em que vc quer adicionar algo, salve o que já tinha no evento desse componente, e mude o evento para essa sua procedure que cv criou, depois quando essa proxcedure foi chamada, chmae o código salvo e execute mais o que vc deseja.

melhor, um exemplo com código:


(...)
  EventoAntigo: TNotifyEvent;
  procedure AoClicar(Sender: TObject);
(...)



no lugar aonde deve adicionar o código:

EventoAntigo := Edit.OnClick;
Edit.OnCkick := AoClicar;


e o código do AoClicar:

if Assigned(EventoAntigo) then
  EventoAntigo(Sender);
//Executa o código adicional quando foi clicado
//O qual componente foi clicado vem em Sender


não sei se fui muito claro, se tiver problemas comente aqui


GOSTEI 0
_chiappone_

_chiappone_

23/12/2004

Valeu cara!

Era isso mesmo que eu tava querendo!


GOSTEI 0
POSTAR