Metropolis UI アプリケーション バーの作成

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

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


Windows 8 Metropolis UI アプリケーションでは、アプリケーション ウィンドウの上部にメニュー バーを固定して使用することはありません。その代わりに、AppBar というタッチ コントロールを使用します。

AppBar は、画面下部や画面上部、あるいはその両方に表示することができます。AppBar は、通常は表示されていませんが、ジェスチャやマウスのクリックやコマンド キーの押下に応答して表示されます。AppBar をプログラムによって表示することも可能です。上下両方の AppBar を使用する場合には、両方同時に表示するのが一般的です。

AppBar を表示するトリガとなり得る標準イベントを以下に示します。

  • 画面下端から画面中央へ向かうスワイプ ジェスチャ
  • 画面上端から画面中央へ向かうスワイプ ジェスチャ
  • コンテキスト メニューが存在しない場所での右クリック
  • Windows+Z キーの押下

FireMonkey での Metropolis UI AppBar の実装

既存のスタイル付き FireMonkey コントロールとジェスチャを使って、FireMonkey Metropolis UI アプリケーション用の Metropolis UI AppBar を作成することができます。

AppBar は、ツールバーのようなもので、FireMonkey の TToolBar コントロール、TGridLayout、および TGestureManager を使って実装できます。

AppBar はすべての Metropolis UI ウィザードで有効化されます。 実行時に AppBar を表示するには、(タッチ デバイスで)上にスワイプするか、アプリケーションを右クリックします。

VCL での Metropolis UI AppBar の実装

VCL Metropolis UI スタイルの AppBar は、画面と同じ幅で画面の下端に位置する TPanel として実装します。

AppBar は、Metropolis UI テンプレートのいずれにも含まれています。その AppBar にはボタンが 1 つ含まれます(Windows 8 スタイルの閉じるボタン。ただしボタンを追加することは可能です)。

XButtonMetro.png
(AppBar は水平スクロール バーの上に現れます。)

TScrollBoxInteractiveGestureOptions プロパティで igoPanSingleFingerVertical をオフにし、上下のフリックのイベントが処理されないようにします。そうすると GestureManager に転送されます(フリック イベントはコントロールの親に順に送信され、最終的にフォームに関連付けられます)。

画面下端から上に向かうフリックをサポートするには、ActionListTGestureManager を配置します。フォームの Touch.Gestures.Standard プロパティの Up ジェスチャをオンにし、これを新規作成したアクション(Action1)に割り当てます。Action1OnExecute イベントで、TPanel の AppBar の Visible プロパティを True に設定します。そうすると、画面を下から上へフリックまたはスワイプしたときに AppBar が表示されます。

AppBar には、アプリケーションを閉じるためのボタンなどを配置することができます。ボタンの OnClick イベントに次のように指定します。

Delphi:

Application.Terminate;

C++:

Application->Terminate();

関連項目