长按与点击事件

手机和PC的长按与点击事件

一、POSIX (IOS和Android)

    长按 :模拟MSWINDOWS的右键点击

    双击 :模拟MSWINDOWS的左键点击

// uses System.UITypes; //定义如下:

const
  // Interactive gesture id's (maps to Windows 7's WM_GESTURE)
  igiBegin = 1 + igiFirst;
  igiEnd = 2 + igiFirst;
  igiZoom = 3 + igiFirst;
  igiPan = 4 + igiFirst;
  igiRotate = 5 + igiFirst;
  igiTwoFingerTap = 6 + igiFirst;
  igiPressAndTap = 7 + igiFirst;
  // Extra interactive gestures
  igiLongTap = 8 + igiFirst;
  igiDoubleTap = 9 + igiFirst;

procedure TfmxMyPulledupScan.SpeedButton1Gesture(
  Sender: TObject;
  const EventInfo: TGestureEventInfo;
  var Handled: Boolean);
begin

  //uses FMX.Types :属FMX内部手势,界面上无需TGesture组件:  TGestureID  TGestureEventInfo

    // 前提: 被赋予内部手势的控件比如SpeedButton1,其属性: 
  SpeedButton1.Touch.InteractiveGestures:=
    [ TInteractiveGesture.LongTap,
      TInteractiveGesture.DoubleTap,
      TInteractiveGesture.Pan
     ];


  if EventInfo.GestureID=igiLongTap then
  begin
    TDialogService.ShowMessage('长按啦!');
  end;
    {$IFDEF ANDROID}
  if EventInfo.GestureID=igiDoubleTap then  //uses FMX.Types,System.UITypes;
    {$ENDIF ANDROID}
    {$IFDEF IOS}
  if EventInfo.GestureID=igiPan then  //uses FMX.Types,System.UITypes;
    {$ENDIF IOS}
  begin

    TDialogService.ShowMessage('双击啦!');

  end;

end;

二、MSWINDOWS

procedure TfmxMyPulledupScan.SpeedButton1MouseUp(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Single);
begin
{$IFDEF MSWINDOWS}
  if Button=TMouseButton.mbRight then
  begin
    TDialogService.ShowMessage('右键啦!');
  end else if Button<>TMouseButton.mbMiddle then
  begin
    TDialogService.ShowMessage('左键啦!');
{$ENDIF MSWINDOWS}

end;

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

专讲冷知识

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值