Hola CORBATIN, el problema está en heredar las propiedades del ancestro de los controles a colocar en tu form. Si revisas la herencia de las componentes verás que el tcontrol tiene las propiedades Color y Font que son después heredadas por sus descendientes, pero esto tiene un problema y es que en el tcontrol esas propiedades son protegidas, entonces el primer paso sería crear una nueva clase del tcontrol que haga published esas dos propiedades:
Código:
implementation
type tmicontrol=class (tcontrol)
published
property color;
property font;
end;
Una vez que tenemos esta clase llamamos a los eventos haciendo el typecast con el sender que será siempre un descendiente del tcontrol:
Código:
procedure TForm1.Edit1Enter(Sender: TObject);
begin
if sender is tcontrol then
with tmicontrol(sender) do begin
color:= clred;
font.Color:=clblue;
end;
end;
procedure TForm1.Edit1Exit(Sender: TObject);
begin
if sender is tcontrol then
with tmicontrol(sender) do begin
color:= clwhite;
font.Color:=clblack;
end;
end;
Solo te resta asociar los eventos Enter y Exit de todos tus controles a los del edit u objeto elegido por tí para escribir las declaraciones.
Creo que te debe funcionar, prueba y después nos comentas.
Saludos y suerte