本例尝试在 OnGesture 事件中响应 sgLeft、sgRight 手势; 操作步骤:

1、加 TGestureManager 控件如窗体: GestureManager1;

2、设置窗体属性 Touch.GestureManager := GestureManager1;

3、添加窗体的 OnCreate 事件, 写: Touch.StandardGestures := [sgLeft, sgRight];

4、添加窗体的 OnGesture 事件, 写响应代码.

上面的步骤 3 的目的是指定准备要接受识别的动作, 这在设计时选定比较方便:



测试代码:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, GestureMgr;

type
  TForm1 = class(TForm)
    GestureManager1: TGestureManager;
    procedure FormCreate(Sender: TObject);
    procedure FormGesture(Sender: TObject; const EventInfo: TGestureEventInfo;
      var Handled: Boolean);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  Touch.StandardGestures := [sgLeft, sgRight];
end;

procedure TForm1.FormGesture(Sender: TObject;
  const EventInfo: TGestureEventInfo; var Handled: Boolean);
begin
  case EventInfo.GestureID of
    sgiLeft  : ShowMessage('Left');
    sgiRight : ShowMessage('Right');
  end;
end;

end.

posted on 2009-10-21 11:02  万一  阅读(5056)  评论(0编辑  收藏  举报