Metropolis UI アプリケーションでのジェスチャ サポート

提供: RAD Studio
移動先: 案内検索

Metropolis UI アプリケーションの開発 への移動


VCL および FireMonkey は、Metropolis UI アプリケーションにおいて、次のジェスチャをサポートしています::

カスタム ジェスチャは、Metropolis UI アプリケーションではサポートされていません。

FireMonkey でのジェスチャ サポートは、以下のような 2 つの異なる Windows API で提供されています。

  • 標準(シングルタッチ)ジェスチャ用の RealTimeStylus API
  • 対話型(マルチタッチ)ジェスチャ用の Windows Touch API

Windows 8 の対話型ジェスチャのサポート

Windows 8 で Metropolis UI アプリケーションを実行する場合は、以下のように、Windows 8 対話型ジェスチャの大半がサポートされています。

Windows 8 ジェスチャ FireMonkey および VCL でのサポート

タップ

クリックとしてサポート、Windows 8 で変換

プレス アンド ホールド

サポートされていません

スライド

サポートされていません *

スワイプ

サポートされていません *

ターン

回転としてサポート

ピンチ

ズームとしてサポート(EventInfo.Distance 値が減少)

ストレッチ

ズームとしてサポート(EventInfo.Distance 値が増加)

  • スライド ジェスチャとスワイプ ジェスチャは、FireMonkey または VCL のパン ジェスチャを使ってシミュレートできます(パン動作の位置と方向を追跡します)。

サポートされている対話型ジェスチャについては、以下で説明しています。

同等の対話型ジェスチャの詳細については、http://msdn.microsoft.com/en-us/library/windows/apps/hh761498.aspx#input_modes を参照してください。

Windows 8 でのジェスチャの処理

Windows 8 では、RealTimeStylus がウィンドウに対して有効になっていると、ジェスチャはすべて Microsoft Windows 8 の RealTimeStylus API を通じて送られ、Windows Touch API はイベントをまったく通知しません。

この問題に対処するために、RealTimeStylus API を無効にできるグローバル フラグが FireMonkey に追加されました。 RealTimeStylus API が無効になると、FireMonkey では標準ジェスチャが検出されません。 その代わり、Windows Touch API からのジェスチャ イベントが、OnGesture イベントのハンドラを通じて個別に通知されます。

これらのイベントを解釈して、ユーザーに行われたジェスチャを決定できます。 Windows Touch ジェスチャは複数のイベントとして通知され、その始まりは TGestureEventInfo.Flag に gfBegin が設定されているイベントで、終わりは gfEnd が設定されているイベントです。 詳細は、「FMX.Types.TInteractiveGestureFlag」を参照してください。

Windows Touch イベントの通知を可能し、対話型ジェスチャを可能にするには、メイン プログラム ファイルの冒頭に以下のコードを追加しなければなりません。

TPlatformServices.Current.GlobalFlags.Add(GlobalDisableStylusGestures, True);

また、FMX.PlatformFMX.Constsuses 句または #include 文に追加することも必要です。

この回避策は Windows 7 では必要なく、Windows 8 の最終リリースでも必要ない可能性があります。

関連項目