Ver Mensaje Individual
  #4  
Antiguo 30-06-2003
andres1569 andres1569 is offline
Miembro
 
Registrado: may 2003
Posts: 908
Reputación: 24
andres1569 Va por buen camino
En ese caso no tienes más que interceptar el evento OnMouseDown y comprobar el parámetro Button de dicho evento (este Button se refiere al bottón del Mouse, no a tu botón):

Código:
TForm1 = class(TForm)
 ...
public
  procedure AlPulsarMouse (Sender: TObject; Button: TMouseButton;
    Shift: TShiftState; X,Y : Integer);
  procedure CreaBoton;
  ...
end;

...

procedure TForm1.AlPulsarMouse (Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X,Y : Integer);
begin
  if (Button = mbRight) AND (Sender is TButton) then 
    FPropiedades.Show  // o lo que sea
  ... 
end;

// al crear dinámicamente tu botón le asignas el método

procedure TForm1.CreaBoton;
begin
  With TButton.Create (Self) do
  begin
    Parent := Self;
    OnMouseDown := AlPulsarMouse;
    ...
end;
La asignación OnMouseDown := AlPulsarMouse; es posible porque ambos eventos son del mismo tipo (los mismos parámetros).
__________________
Guía de Estilo
Responder Con Cita