Ver Mensaje Individual
  #2  
Antiguo 18-01-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Reputación: 25
__cadetill Va por buen camino
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

Última edición por __cadetill fecha: 18-01-2004 a las 14:11:55. Razón: Especificar algo más
Responder Con Cita