除了通過 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