Bueno, bueno...sin pelearse
Muchas gracias a todos, lo mas "sencillo" y con menos código es el metodo de
dec. Ya solo falta que se pueda acceder a la clase del formulario (self) y asi esa rutina se puede incorporar a biblioteca y no tener que ponerla en cada formulario. Es decir sustituir
TFormProveedorFactura por
Self.
¿que, sabeis hacerlo?
Código Delphi
[-]
procedure TFormProveedorFactura.FormCreate(Sender: TObject);
begin
FormBuscar := TFormBuscar.Create(Self);
ControlesResaltados();
end;
procedure TFormProveedorFactura.FechaVencimientoExit(Sender: TObject);
begin
FechaVencimiento.Visible := False;
TimerVencimientos.Enabled := False;
ControlExit(Sender);
end;
procedure TFormProveedorFactura.ControlesResaltados();
var
i: word;
begin
for i := 0 to Self.ComponentCount - 1 do
begin
if Self.Components[i] is TWinControl then
begin
if Assigned(TFormProveedorFactura(Components[ i ]).OnEnter ) = False then
TFormProveedorFactura(Components[i]).OnEnter := ControlEnter;
if Assigned(TFormProveedorFactura(Components[ i ]).OnExit ) = False then
TFormProveedorFactura(Components[i]).OnExit := ControlExit;
end;
end;
end;
procedure TFormProveedorFactura.ControlEnter(Sender: TObject);
begin
TWinControl(Sender).Brush.Color := clYellow;
end;
procedure TFormProveedorFactura.ControlExit(Sender: TObject);
begin
TWinControl(Sender).Brush.Color := clWindow;
end;