Criação de Componentes
Olá !!!
Preciso de ajuda no seguinte item !!!
quero criar um componente ( TEDIT ) e preciso fazer com que ele ligue o NumLock quando eu entrar no Edit !! pergunta :
Como faço para usar os Eventos (OnEnter,OnExit) quando estrou criando
o componente !!!
Muito Obrigado !!! :?:
Preciso de ajuda no seguinte item !!!
quero criar um componente ( TEDIT ) e preciso fazer com que ele ligue o NumLock quando eu entrar no Edit !! pergunta :
Como faço para usar os Eventos (OnEnter,OnExit) quando estrou criando
o componente !!!
Muito Obrigado !!! :?:
Zector
Curtidas 0
Respostas
Beppe
29/10/2003
Dentro de um componente tu n~çao usa os eventos, para isso tem as mensagens:
Declare um método assim no private
Para o Exit, use CMExit e CM_EXIT;
Na implementação, coloque:
Ataliba
Declare um método assim no private
procedure CMEnter(var Message: TCMGotFocus); message CM_ENTER;
Para o Exit, use CMExit e CM_EXIT;
Na implementação, coloque:
begin inherited; // seu código aqui... end;
Ataliba
GOSTEI 0
Zector
29/10/2003
Faleu pela Dica !!! Thanks !!!
GOSTEI 0
Marcelo Saviski
29/10/2003
já que foi tocado no assunto, qual a diferença de CM_ENTER para CM_GOTFOCUS?
GOSTEI 0
Beppe
29/10/2003
CM_ENTER e CM_GOTFOCUS são mensagens diferentes, mas CM_GOTFOCUS parece nem ser usado. Eu copiei a declaração como estava na unit StdCtrls, e não reparei na no tipo TWMGotFocus. Mais apropriado seria usar TWMEnter e TWMExit. Não é totalmente errado usar TWMGotFocus(o Delphi faz assim), já que estes 3 tipos citados são apenas aliáses para TWMNoParams.
Ataliba
Ataliba
GOSTEI 0
E_gama
29/10/2003
Para que vc não precise utilizar ´mensagens´, vc pode fazer o seguinte:
- a classe base de alguns componentes de entrada de dados da VCL tem alguns procedimentos ´abstratos´ que podem ser utilizados..
Coisas do tipo: ´doEnter´ para o evento ´OnEnter´, ´doExit´ para o evento ´OnExit´, etc...
segue um exemplo:
Antes de executar o evento ´OnEnter´ por exemplo, o Delphi chama o procedimento ´DoEnter´ ...
- a classe base de alguns componentes de entrada de dados da VCL tem alguns procedimentos ´abstratos´ que podem ser utilizados..
Coisas do tipo: ´doEnter´ para o evento ´OnEnter´, ´doExit´ para o evento ´OnExit´, etc...
segue um exemplo:
type TMeuEdit = class(TEdit) private protected procedure DoEnter; override; procedure DoExit; override; . . . procedure TMeuEdit.DoEnter; begin // Escreva aqui seu código inherited; end; procedure TXDBEdit.DoExit; begin // Escreva aqui seu código inherited; end; . . .
Antes de executar o evento ´OnEnter´ por exemplo, o Delphi chama o procedimento ´DoEnter´ ...
GOSTEI 0