
新しいメカニズムを使用すると、マニピュレータのさまざまな定義済みの動きを選択 (または新しいカスタムの 動き )して、それらを異なるアクションに関連付けることができます。 Operaブラウザのユーザー(だけでなく)は、これをよく知っています。 残りについては、Windows(および、したがって、Delphi)には長い間1つの古い動きが含まれていたことを思い出させてください:ドラッグアンドドロップ。 このメカニズムは似ているが、はるかに強力であることを考慮してください。 もちろん、これは、ペンを使用したプログラミング、タッチスクリーンを使用したコンテンツキオスクのアプリケーションなどで積極的に使用されます 。
詳細については、1つのポイントを明確にしましょう。Delphiは、現在リリースされているWindows 7の自然な入力処理メカニズムを使用しようとしています 。 これが不可能な場合(たとえば、アプリケーションがWindows XPで実行されている場合)、 独自の認識エンジンが使用されます。 彼はどうやってそれをしますか? 言語のいくつかの革新の助けを借りて(しかし、これはもちろん別の投稿のトピックです=))。

TGestureManager
コンポーネントのメインタスクです。 コンポーネントのカスタムジェスチャ(
TActionManager
ようなもの)を含めることができ、これらのジェスチャをファイルに保存できます。
もちろん、ジェスチャーを制御するために、 カスタムジェスチャーエディターがあります。 ここにあります:

ご覧のとおり、Editoraの機能には、各ジェスチャに適切な名前を割り当てる、 感度制御 、 各ジェスチャポイントの個別制御 (追加/編集/削除)、 ズームインとズームアウト、ジェスチャのデモンストレーション 、新しいジェスチャの記録、マニピュレータを使用したジェスチャのテスト (通常はこれはマウスです)。 ジェスチャが他の人との類似性 (組み込みを含む)を持っているかどうかを教えてくれることに注意してください。 たとえば、私が描いた三角形は、組み込みの(Delphiの用語で「標準」 )
sgiTriange
と「100%類似」しています。 それらはとても似ているので、私はジェスチャーを削除し、 Zという文字の形で「無題」という名前で新しいジェスチャーを書きました(私は時々とても怠け者です...)。

Touch: TTouchManager
プロパティの一部である
Touch: TTouchManager
を見ることができます。 当然、このプロパティはVControlのほぼすべての場所に現れ、
TControl
で宣言され
TControl
。
Touch.Gestures.Custom
グループ
Touch.Gestures.Custom
は、自分の「Z」ジェスチャーに気づくことができます。 「標準」ブランチには、デフォルトで提供される最も一般的なジェスチャーが組み込まれています。 それらは各コンポーネントでサポートされています。 ただし、それらを表示するには、コンポーネントを
TGestureManager
関連付ける必要があります。実際には、これらの標準ジェスチャが宣言されているモジュールへのリンクが必要です。
ご覧のとおり、任意のコントロールは多くのジェスチャに応答できます(隣のフラグに基づいて)。 実際に使用するには、オブジェクトインスペクターでフラグを使用してジェスチャーをマークし、独自のOnGestureイベント処理コードを記述します。 イベントパラメータは次のとおりです。
- 送信者:TObject;
- const EventInfo:TGestureEventInfo;
- var Handled:ブール値。
2番目のパラメーターに必要な情報がすべて含まれていることは明らかです。
また、 マルチタッチタブレットと画面もサポートされていることに気付くかもしれません。 これらの設定は、画像の下部に表示されます。
Gesturesカテゴリには、
TGestureListView
の後継である
TGestureListView
他のコンポーネントがあります。これは、ジェスチャの名前とサムネイルをすばやく認識できるように表示します。 しばしば非常に便利です。
TGesturePreview
は、まさにそれが呼ばれているものです。指定されたジェスチャーの形でアニメーションを表示できるコントロールです。 ちなみに、自由に見た目をカスタマイズするのに十分なプロパティがあります。 そして、もちろん、
TGestureRecord
は、描画されたジェスチャーを読み取ることができるシンプルなパネルです。
ちなみに、 「タッチ」カテゴリには
TTouchKeyboard
があります。これは、コンテンツキオスクやタブレットアプリケーションで一般的なオンスクリーンキーボードのコンポーネントです。 便利な機能は
Layout
プロパティです。これにより、通常のキーボードの代わりにサイドキーボードを取得できます。

2つのコントロールTTouchKeyboard。 1つは通常のもの、もう1つはデジタルレイアウトのものです。
そのため、この投稿はRAD Studio 2010の自然な入力の可能性の概要に専念しました。完全な紹介として、またはヘルプシステムの代わりとして計画されていませんでした。 しかし、彼はこのことについて一般的な印象を与えました。
そして、謙虚な僕は、RAD Studio 2010の革新に関する興味深い投稿の結合された、または個々のHabrahabr翻訳にタイムリーに公開しようとします。 ブログで判断すると、見るべきものがあります。