[Lazarus-es] cambiar color de un edit

José Mejuto joshyfun en gmail.com
Lun Ene 16 18:27:27 CET 2017


El 16/01/2017 a las 18:05, Ulises Díaz via Lazarus-es escribió:
> Hola
[...]
> La desventaja de este método es que si hay muchos controles es
> dispendioso usar todos esos eventos, además por cada control nuevo que
> se adicione toca modificar los eventos.
> Espero que esta u otra alternativa que han presentado los compañeros sea
> utilidad para usted.
>

Hola,

frmXXX = class(TForm)
[...]
protected
function SetFocusedControl(Control: TWinControl): Boolean; override;
[...]
end;

function frmXXX.SetFocusedControl(Control: TWinControl): Boolean;
var
   j: integer;
   c: TComponent;
begin
   Result:=inherited SetFocusedControl(Control);
   if Result then begin
     for j := 0 to Pred(Self.ComponentCount) do begin
       c:=Self.Components[j];
       if c is TEdit then begin
         if c=Control then begin
           TEdit(c).Color:=clYellow;
         end else begin
           TEdit(c).Color:=clWindow;
         end;
       end;
     end;
   end;
end;

-- 



Más información sobre la lista de distribución Lazarus-es