除了通过 OnGesture 事件识别手势, 还可以直接个某个手势指定动作.
这需要用到: TActionList 或 TActionManager; 本例用了 TActionList.
操作步骤:
1、给窗体添加并关联 TGestureManager, 还要添加 TActionList;
2、给动作关联 Action:
3、给 Action 写代码.
代码文件:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, GestureMgr, ActnList; type TForm1 = class(TForm) GestureManager1: TGestureManager; ActionList1: TActionList; Action1: TAction; Action2: TAction; procedure Action1Execute(Sender: TObject); procedure Action2Execute(Sender: TObject); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Action1Execute(Sender: TObject); begin ShowMessage('Left'); end; procedure TForm1.Action2Execute(Sender: TObject); begin ShowMessage('Right'); end; end.
窗体文件:
object Form1: TForm1 Left = 0 Top = 0 Caption = 'Form1' ClientHeight = 206 ClientWidth = 339 Color = clBtnFace Font.Charset = DEFAULT_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'Tahoma' Font.Style = [] OldCreateOrder = False Touch.GestureManager = GestureManager1 PixelsPerInch = 96 TextHeight = 13 object GestureManager1: TGestureManager Left = 128 Top = 88 GestureData = < item Control = Owner Collection = < item Action = Action1 GestureID = sgiLeft end item Action = Action2 GestureID = sgiRight end> end> end object ActionList1: TActionList Left = 224 Top = 136 object Action1: TAction Caption = 'Action1' OnExecute = Action1Execute end object Action2: TAction Caption = 'Action2' OnExecute = Action2Execute end end end