Ver Mensaje Individual
  #7  
Antiguo 14-06-2005
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Reputación: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Aquí tienes un ejemplo para hacerlo sin derivar el componente, programándolo en el form:
http://www.swissdelphicenter.ch/torr...ode.php?id=585

Y si quieres derivar el componente para responder a los eventos de ENTER y EXIT y cambiar el color, pues aquí tienes el código (es de un mensaje anterior que contesté con la misma pregunta):

Código Delphi [-]
 unit EditColor;
 
 interface
 
 uses
   Windows, Messages, SysUtils, Classes, Controls, StdCtrls, GRaphics;
 
 type
   TEditColor = class(TEdit)
   private
     FColorEnter: TColor;
     FColorExit: TColor;
 
     // Redefinimos los mensajes de entrada y salida
     procedure CMExit(var Message: TCMExit); message CM_EXIT;
     procedure CMEnter(var Message: TCMEnter); message CM_ENTER;
   protected
     { Protected declarations }
   public
     { Public declarations }
     constructor Create(AOwner: TComponent); override;
   published
     // Color que queremos al entrar (cuando tiene el foco)
     property ColorEnter:TColor read FColorEnter write FColorEnter default clInfoBk;
     // Color que queremos al salir (cuando no tiene el foco)
     property ColorExit:TColor read FColorExit write FColorExit default clWindow;
   end;
 
 procedure Register;
 
 implementation
 
 // Registrar el componente.
 procedure Register;
 begin
   RegisterComponents('Neftali', [TEditColor]);
 end;
 
 { TEditColor }
 // Interceptamos el mensaje de entrada
 procedure TEditColor.CMEnter(var Message: TCMEnter);
 begin
   inherited;
   Self.Color := Self.FColorEnter;
 end;
 
 // Interceptamos el mensaje de salida
 procedure TEditColor.CMExit(var Message: TCMExit);
 begin
   inherited;
   Self.Color := Self.FColorExit;
 end;
 
 // Constructor (valores iniciales)
 constructor TEditColor.Create(AOwner: TComponent);
 begin
   inherited;
   // Valores iniciales
   Self.FColorEnter := clInfoBk;
   Self.FColorExit := clWindow;
 end;
 
 end.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita