Componente no Delphi: evento onclick executar em tempo de projeto. (IDE)
ola.
Gostaria de saber se há alguma forma de fazer "um evento onclick" de um
componente, executar em tempo de projeto uma rotina qualquer
(logicamente coerente com a situação), por exemplo:
.
No componente PageControl, quando vc clica em uma aba, a IDE executa o evento
referente a mudança de pagina dentro do componente PageControl.
.
O que eu quero é algo semelhante a implementar no meu componente.
Quando eu clicar, dispararia o equivalente ao "Onclick em runtime."
Gostaria de saber se há alguma forma de fazer "um evento onclick" de um
componente, executar em tempo de projeto uma rotina qualquer
(logicamente coerente com a situação), por exemplo:
.
No componente PageControl, quando vc clica em uma aba, a IDE executa o evento
referente a mudança de pagina dentro do componente PageControl.
.
O que eu quero é algo semelhante a implementar no meu componente.
Quando eu clicar, dispararia o equivalente ao "Onclick em runtime."
Alberto
Curtidas 0
Respostas
Roberto Wutke
31/05/2018
vamos lá, pelo que entendi vc quer que um evento Onclick seja chamado de acordo com alguma ação que o usuário fizer... correto?
não seria simplesmente vc colocar o evento onclick do componente que quer com o mesmo nome do evento a ser chamado?
ou ainda, no click de cada componente em questão, voce chamar o ComponeteClick(Componente)?
Qualquer coisa esclarece mais um pouco pra nós.
abrass
não seria simplesmente vc colocar o evento onclick do componente que quer com o mesmo nome do evento a ser chamado?
ou ainda, no click de cada componente em questão, voce chamar o ComponeteClick(Componente)?
Qualquer coisa esclarece mais um pouco pra nós.
abrass
GOSTEI 0
Alberto
31/05/2018
Não. O que eu quero se resume a tempo de projeto e nao tempo de execuçao.
Para entender melhor, coloque um pagecontrol num form e adicione 2 tabs nele.
Entao clique na primeira TAB e depois clique na segunda. Veja que o delphi
em tempo de projeto executou uma acao: "mudar de TAB", pois é exatamente
esse tipo de acao que eu quero fazer no meu componente, em tempo de
projeto, na IDE do Delphi.
Para entender melhor, coloque um pagecontrol num form e adicione 2 tabs nele.
Entao clique na primeira TAB e depois clique na segunda. Veja que o delphi
em tempo de projeto executou uma acao: "mudar de TAB", pois é exatamente
esse tipo de acao que eu quero fazer no meu componente, em tempo de
projeto, na IDE do Delphi.
GOSTEI 0
Emerson Nascimento
31/05/2018
Provavelmente seu componente terá um método DoClick. Nele, geramente, há algo como:
Ou seja, se estiver carregando o componente ou se estiver em tempo de desing (IDE), saia do OnClick.
Basta retirar a avaliação do estado csDesigning.
if not (csLoading in ComponentState) and (not (csDesigning in ComponentState) then ExceuteDoClick;
Ou seja, se estiver carregando o componente ou se estiver em tempo de desing (IDE), saia do OnClick.
Basta retirar a avaliação do estado csDesigning.
GOSTEI 0