AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
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.