Este es parte del código del componente.
Marcoszorrilla verá la similitud con su ejemplo. Gracias.
type
TBtnBlink = class(TButton)
Procedure MiEvento(Sender:TObject);
private
FTimer : TTimer;
FIntervalo : Integer;
...........................
procedure SetIntervalo(Value: integer);
....................
published
property Intervalo: integer read FIntervalo
write SetIntervalo default 0;
................
implementation
.............
procedure TBtnBlink.SetIntervalo(Value: integer);
begin
if FIntervalo <> Value then begin
FIntervalo:= Value;
Invalidate;
end;
Aquí es donde cuadra el texto:
'En el procedure de las propiedades del componente si lo recibe, '
Si pongo ShowMessage(IntToStr(FIntervalo));
Me muestra el de la propiedad.
end;
......
FTimer := TTimer.Create(Self);
FTimer.OnTimer:=MiEvento;
........
Procedure TBtnBlink.MiEvento(Sender:TObject);
begin
Aquí es donde lo necesito pero
'pero fuera de él dice que es desconocido'
Si pongo ShowMessage(IntToStr(FIntervalo));
Me dice desconocido
if FParpadeo then
begin
ColorBoton := clRed;
end
else
begin
ColorBoton := clYellow;
end;
fParpadeo := not FParpadeo;
end;
Así que lo que yo quiero saber es:
Yo pongo este botón en mi aplicación y cuando quiera que parpadee, porque ha recibido el foco o quiero resaltarlo:
¿Como ejecuto desde mi aplicación el procedure MiEvento, pasándole tanto Intervalo como Parpadeo, es decir a que velocidad y si lo debe hacer o no.
Perdonad, puede parecer sencillo, para mi no lo es, pero la idea es aprender.
Un saludo.
Tonio
|