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)手势的坐标 |