Delphi/C++ Builder 支持触控操作步骤

1、在当前窗体上添加一个 TGestureManager 对象。

2、选择设置要支持触控的控件

2.1、找到 Touch 属性

2.1.1、修改GestureManager 属性为第 1 步添加的 TGestureManager 对象;

2.1.2、设置Gestures 或 InteractiveGestures 中自己支持的触控操作。

2.2、切换到事件页,找到 OnGesture 事件,双击进入事件处理代码:

procedure TForm1.TabControl1Gesture(Sender: TObject;
  const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
end;

 2.3、编写自己的处理代码,EventInfo 参数的定义如下:

TGestureEventInfo = record
    GestureID: TGestureID;
    Location: TPointF;
    Flags: TInteractiveGestureFlags;
    Angle: Double;
    InertiaVector: TPointF;
    Distance: Integer;
    TapLocation: TPointF;
  end;

下面是各个成员的简单解释:

成员 描述
GestureID 发出的手势的ID,它是一个整数值,预定义的常量值在 System.UITypes 里,以 sgi 打头,如 sgiLeft 代表向左划动
Location 当前控件表面的末次触控位置
Flags TInteractiveGestureFlag 标志位集合,仅适用于交互手势操作
Angle 基于屏幕坐标的旋转角度,只在旋转操作时有效,顺时针时为负,逆时针为正
Distance 从 Location 到前一点之间的距离。只有在缩放和两个手指的触控手势(TInteractiveGesture = Zoom or TwoFingerTap)时有效。
InertiaVector 由 X 和 Y 组成的方向矢量,X 为正代表向右,为负代表向左,Y 为正代表向下,为负代表向上。只有在交互类型的事件中有效。
TapLocation 指定点触(Tap)或触压(igPressAndTap)手势的坐标
分享到: