Delphi2010 ジェスチャ(2)
2010/11/25
前回は、ジェスチャの「標準ジェスチャ」を
OnGesture
イベントハンドラで処理する方法について記述しました。今回は同じく標準ジェスチャを、アクションマネージャを使って処理する方法について記述します。
前回と同じくテスト28に追記しますが、ややこしくなると何なので、パネルをもう1つ追加して(Panel2)、そちらを操作することにします。そして、[Additional]内のアクションマネージャ ActionManager を配置します。1つ目ですので
Name
プロパティは「ActionManager1」となります。
↓
パネル Panel2 を選択し、<オブジェクトインスペクタ>にて、
Touch
プロパティ内の
GestureManager
プロパティ欄の右端の▼をクリックして「GestureManager1」にします。
そのすぐ下にある
Gestures
プロパティ欄の右端の[…]をクリックして「ジェスチャの選択」画面を表示します。標準ジェスチャの項目をクリックすると、<オブジェクトインスペクタ>がその項目の内容を表示し、
Action
プロパティがあるのが確認できます。
↓
Action
プロパティ欄の右端にある[▼]をクリックすると、「アクションの新規作成」・「標準アクションの新規作成」が表示されます。ここでは「アクションの新規作成」を選択します。
アクションが新規作成されます。1つ目ですので「Action1」となり、それが
Action
プロパティ欄に表示されます。
或いは、そのすぐ下にある
Standard
プロパティ欄の左端の[+]をクリックして中身を展開し、標準ジェスチャにチェックを入れ、アクションを新規作成し、指定することでもOKです。
↓
↓
同様にして、up、Down、も指定します。
次に、新規作成したアクションの内容を記述します。
<フォームデザイナ>にて、アクションマネージャ ActionManager1 をダブルクリック、又は、右クリックメニュー「カスタマイズ」を行います。勿論、<構造>からでも構いません。「Form1.ActionManager1の編集」画面が表示されます。
アクション一覧からアクション Action1 を選択し、<オブジェクトインスペクタ>のイベント頁の
OnExecute
イベント欄をダブルクリック、又は、上記画面の Action1 項目をそのままダブルクリックします。そのイベントハンドラを下記のように記述します。
procedure TForm1.Action1Execute(Sender: TObject);
begin
Panel2.Caption := '←<左>';
end;
同様に、Action2・Action3・Action4のイベントハンドラも記述します。
procedure TForm1.Action2Execute(Sender: TObject);
begin
Panel2.Caption := '→<右>';
end;
procedure TForm1.Action3Execute(Sender: TObject);
begin
Panel2.Caption := '↑<上>';
end;
procedure TForm1.Action4Execute(Sender: TObject);
begin
Panel2.Caption := '↓<下>';
end;
この状態で、保存・コンパイル(再構築)・実行を行います。
↓
ここではテストでパネルの
Caption
プロパティを変えているだけですが、処理内容をイロイロ記述すれば、様々なタッチジェスチャ/マウスジェスチャの可能なアプリケーションを作成する事が出来ると思います。
また、標準ジェスチャだけでなく、自分でカスタムジェスチャとして作成する事も可能です。ジェスチャマネージャ GestureManager1 をダブルクリック、又は、右クリックメニュー「カスタムジェスチャ」を実行します。
↓
[作成]ボタンをクリックします
↓
名前をつけて、ジェスチャを作成します。標準ジェスチャの場合は
Touch
プロパティ〜
Gestures
プロパティ〜
Standard
プロパティ
でしたが、カスタムジェスチャの場合は
Touch
プロパティ〜
Gestures
プロパティ〜
Custom
プロパティ
となります。
標準ジェスチャと同じようにアクションを指定し、イベントハンドラで処理内容を記述します。が、カスタムジェスチャを作成し、うまく認識させるのは結構難しいと思います。
という訳で、アクションを使用しないパターンは、OnGestureイベント内で全ての処理を一括して記述するという感じで、アクションを使用するパターンは個々の処理を別々に記述するという感じですが、ヘルプを見ると、アクションを使用するパターンを推奨しているように見えます。アクションマネージャで管理でき、他からのイベントとも関連しやすいからだと思います。
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>
Delphi入門編
>
Delphi2010
▲2010/11/24
2010/11/25
▼2010/11/26
シェアウェア
Script!World
データベース
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.