Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-05-2003
craven craven is offline
Miembro
 
Registrado: may 2003
Posts: 78
Poder: 22
craven Va por buen camino
Unhappy Eventos de un componente...

Hola amigos. Ya estoy por aqui otra vez para consultaros una cosilla, a ver si me podeis ayudar. Os cuento. Estoy creando un control basado en un TEdit, con una serie de modificaciones. De esta forma, y como os podreis imaginar, he declarado mi control de la siguiente forma:

TMiControl = Class (TEdit)
private
....
end ;

La cosa es que me gustaría que el control que yo he creado responda a un evento del TEdit, o sea, hablando claro: me gustaria que cuando el usuario cambia algun texto de la ventana de texto (valga la redundancia), mi control realice una serie de modificaciones sobre el mismo. ¿Cómo hago esto? Espero haber sido claro. Gracias de antemano y un saludo para todos.
__________________
craven
Responder Con Cita
  #2  
Antiguo 08-05-2003
pedrohdez pedrohdez is offline
Miembro
 
Registrado: may 2003
Ubicación: Murcia
Posts: 54
Poder: 22
pedrohdez Va por buen camino
Hola Craven,

Te cuento el proceso, primero mira en la ayuda el evento que quieres "retocar" a ver en que objeto esta declarado, en el caso de OnChange esta definido en TCustomEdit, asi que me voy al fuente correspondiente y localizo donde se usa, en este caso TCustomEdit.Change y veo que esta declarado como Dynamic, es decir se puede heredar, perfecto, pues la solucion es:

Código:
TMiControl = Class (TEdit)
protected
procedure Change; override;
..
Implementation

procedure TMiControl.Change;
begin
  < tu codigo >
  inherited;
  < tu codigo >
end;
Puedes elegir si quieres que tu codigo se ejecute antes o despues del codigo original o incluso si no quieres que se ejecute, quitas el inherited y listo.
Responder Con Cita
  #3  
Antiguo 08-05-2003
craven craven is offline
Miembro
 
Registrado: may 2003
Posts: 78
Poder: 22
craven Va por buen camino
Lightbulb Gracias.... Pero y si...??

Ante todo, muchas gracias por tu ayuda, aunque, si me permites, voy a abusar de ella. Ampliando mi pregunta anterior: ¿y si quiero atender el evento de pérdida de foco? No esta incluido en la clase base... Nuevamente, gracias por todo.
__________________
craven
Responder Con Cita
  #4  
Antiguo 08-05-2003
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 25
__cadetill Va por buen camino
Hola

El evento de perdida de foco, SI que esta incluido en la clase base (TEdit). Este es el Exit. Puedes hacer lo mismo que lo expuesto por pedrohdez para este evento

Espero te sirva
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Override eventos On... lento manu OOP 12 08-10-2005 11:37:31
Componente para soporte Multilenguage en Delphi 2005 Holderhek OOP 2 16-03-2005 15:46:00
Los eventos y un componente heredado de TGraphicControl zuriel_zrf OOP 1 01-10-2004 00:55:32
Usar eventos en un VCL Sonic C++ Builder 25 29-05-2004 02:06:09
Una clase como propiedad de un componente? setry2 OOP 3 30-12-2003 21:30:58


La franja horaria es GMT +2. Ahora son las 21:35:59.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi