FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Capturar eventos de componentes
Hola a todos:
A ver se me podeis echar una mano: Quisiera haer un componente (descendiente del TEdit) al cual se le pudiera asignar un color cuando recibe el foco y otro cuando lo pierde. ¿Como puedo hacer para capturar el evento OnExit y OnEnter? (Creo haber leido en el foro un post similar pero llevo toda la mañana buscando y no doy con el . Si ya ha sido respondido podriais decirme donde??) Un saludo. Y gracias por todo.
__________________
Vivir a la deriva, sentir, que no se que hago aki... (Extremo) |
#2
|
||||
|
||||
Puedes capturar los mensajes CM_EXIT y CM_ENTER:
Código:
type TForm1 = class(TForm) procedure CMEnter(var Msg: TMessage); message CM_ENTER; procedure CMLeave(var Msg: TMessage); message CM_LEAVE; end; implementation procedure TForm1.CMEnter(var Msg: TMessage); begin inherited; { tu código } end; procedure TForm1.CMLeave(var Msg: TMessage); begin inherited; { tu código } end; end. |
#3
|
|||
|
|||
De lujo Roman, muchisimas gracias.
__________________
Vivir a la deriva, sentir, que no se que hago aki... (Extremo) |
#4
|
||||
|
||||
Hola,
aunque no lo he probado, también podrías intentarlo haciendo un override de los métodos dinámicos protegidos DoEnter y DoExit, definidos en la clase TWinControl o TWidgetControl (según sea VCL o CLX). La implementación te queda casi igual que la que te proponen: Código:
type TForm1 = class(TForm) procedure DoEnter; override; procedure DoExit; override; end; implementation procedure TForm1.DoEnter; begin inherited; { tu código } end; procedure TForm1.DoExit; begin inherited; { tu código } end; end. Saludos. |
|
|
|