FireMonkey アプリケーションにおけるメニューの使い方
FireMonkey では、フォームに表示される軽量のスタイル付きメニューと、ネイティブのメニューの両方をサポートしています。
ドロップダウン メニュー
従来のデスクトップ OS のドロップダウン メニューは、完全なスタイルを持つコントロールである TMenuBar 上に置かれます。 これは、TMenuItem オブジェクトのツリーのルートとして動作します。 第 1 世代の子は、メニュー バー上に表示されます。 第 2 世代の項目は、親項目をクリックしたときに、その親の下に表示されます。 それ以降の世代は、サブメニューとして右側に表示されます。
メニュー項目にはラベル Text と、オプションで Bitmap イメージがあります。 項目は、IsChecked トリガ プロパティを使用してチェックをつけることができます。 AutoCheck を True に設定すると、項目がクリックされるたびに、自動的に、IsChecked が切り替わります。 メニュー項目のグループは、各項目で RadioItem を True に、GroupIndex を同じ任意の値に設定することで、最大 1 項目のみしかチェックできないように設計されています。
メニューのアクションは OnClick イベント ハンドラで実装します。 ショートカットのコード表現を、ショートカット キーの ShortCut プロパティに割り当てます。
メニューの区切り線の項目を作成するには、Text を 1 つのハイフン-マイナス文字(Unicode コード ポイントでは U+002D、ASCII では 45)に設定します。
macOS 用および Windows 用のメニューの作成
ターゲット システムに応じて、適切なコントロールを使用します(macOS vs. Windows)。
- Windows アプリケーションの場合、TMenuBar コントロールを使用します:
- メイン メニューはフォームのクライアント領域に配置されます(Windows の標準に準拠)。
- メニュー項目は macOS のメニュー バーに含まれません(macOS の標準に非準拠)。
- macOS アプリケーションの場合、TMainMenu コンポーネントを使用します:
- メイン メニューは Windows フォームの非クライアント領域に配置されます(Windows の標準に非準拠)。
- メニュー項目は macOS のメニュー バーに配置されます(macOS の標準に準拠)。
- macOS アプリケーションでは、[アプリケーション]メニューに、システム メニュー項目が自動的に追加されます。
- 他の項目については、TMainMenu での最初に表示されるメイン メニューの サブ項目 を使用して、[アプリケーション]メニューに追加することができます。これらの項目は、[サービス]システム メニュー項目上に現れます。最初に表示されたメイン メニュー項目が、[アプリケーション]メニューのサブ項目を意図したものであった場合、この項目は、macOS 意外のプラットフォームでは非表示となります。
キーボード ショートカットの利用
To activate menu commands you can assign keyboard shortcuts in the ShortCut property of the menu item of a TMainMenu.