Cita:
Empezado por ivanmm
2º:Tengo en el form varios objetos del mismo tipo y quiero hacer un procedimiento generico que cuando se haga un click en alguno de ellos, haga ciertas acciones.Se que esto se podria hacer en el evento OnClick de cada uno de ellos, pero me gustaria encontrar la forma de hacer una funcion o procedimiento generico.
|
Cuando "salta" el evento OnClick o OnDblClick de un objeto, el parámetro que se recibe (Sender) puede ayudarte a este menester
Código:
procedure TForm1.Button1DblClick(Sender: TObject);
begin
// cosas comunes
.......
if Sender = Button1 then
begin
// lo que sea del Button1
end;
if Sender = Button2 then
begin
// lo que sea del Button2
end;
// más cosas comunes
........
end;
Luego, sólo has de asignar en el Inspector de Objetos el mismo evento a todos los objetos que quieras (siempre y cuando tengan los mismos parámetros). Si no tubieran los mismos parámetros, tendrás que crearte un procedure a parte
Código:
procedure TFomr1.MiProc(Sender: TObject);
begin
// lo mismo que antes
end;
procedure TForm1.Objecto1DblClick(Sender: TObject; otros parámetros);
begin
MiProc(Sender);
end;
procedure TForm1.Objeto2DblClick(Sender: TObject; parámetros diferentes);
begin
MiProc(Sender);
end;
Espero te sirva