Hola xorc.
Primero te comento que estas líneas son redundantes:
Código Delphi
[-]
if sender is TComboBox then begin
with sender as Tcombobox do
Mejor sería:
Código Delphi
[-]
if Sender is TComboBox then begin
with TComboBox(Sender) do ...
Ahora, para que el procedimiento se le pueda aplicar a diferentes controls yo usaría RTTI:
Código Delphi
[-]
...
uses TypInfo;
procedure TForm1.Parpadear(AHandle: THandle; AColor: string);
var
Aux: TColor;
TC: TControl;
PInfo: PPropInfo;
begin
TC:= FindControl(AHandle);
PInfo:= GetPropInfo(TC.ClassType, 'Color');
if PInfo <> nil then
begin
Aux:= GetOrdProp(TC, 'Color');
SetOrdProp(TC, PInfo, StringToColor(AColor));
Update;
Sleep(100);
SetOrdProp(TC, PInfo, Aux);
Update;
end;
end;
Ejemplo de llamadas:
Código Delphi
[-]
...
Parpadear(Panel1.Handle, 'clRed');
Parpadear(ComboBox1.Handle, 'clLime');
Parpadear(Edit1.Handle,'clBlue');
...
Saludos.