procedure TForm1.Button1MouseDown(Sender: TObject;
Button: TMouseButton;
Shift: TShiftState;
X, Y: Integer);
var
vPoint: TPoint;
begin
vPoint.X := TButton(Sender).Left;
vPoint.Y := TButton(Sender).Top + TButton(Sender).Height;
vPoint := ClientToScreen(Point(vPoint.X, vPoint.Y));
case Button of
mbLeft : PopupMenu1.Popup(vPoint.X, vPoint.Y) ;
mbRight: PopupMenu2.Popup(vPoint.X, vPoint.Y);
end;
end;