アプリケーション メニュー

[アプリケーション] メニューは、Windows リボン フレームワークを実装するアプリケーションのメイン メニューです。

はじめに

アプリケーション メニューは、ドキュメント、画像、ムービー全体など、完全なプロジェクトに関連する機能を公開するコマンドを含むメニューを表示するドロップダウン ボタン コントロールで構成されます。 たとえば、 New コマンド、 Open コマンド、 Save コマンド、 Exit コマンドなどがあります。

次のスクリーン ショットは、[アプリケーション] メニューを示しています。

ウィンドウ 7 リボンのペイントのアプリケーション メニューと最近使用した項目の一覧のスクリーン ショット。

アプリケーション メニューのコンポーネント

[アプリケーション] メニューは、任意のリボン アプリケーションで必須の要素です。 アプリケーション メニューのエントリ ポイントは、次のスクリーン ショットに示すように、 Tab 行の最初の項目として表示される独特のボタンです。

Note

Windows 8 以降: [アプリケーション メニュー] ボタンの画像がラベルに変更されました: [ファイル] 。 独自のタブのラベルとして [ファイル] を使用しないことをお勧めします。

 

Windows 7 のワードパッドのアプリケーション メニュー ボタンのスクリーン ショット。

このボタンをクリックすると、次のスクリーン ショット (Windows 7 用ワードパッドの [アプリケーション] メニュー) に表示されるリッチ メニューが表示されます。

Windows 7 のワードパッドのアプリケーション メニュー メニューのスクリーン ショット。

Note

[アプリケーション メニュー] ボタンをクリックしても、タブ セットに影響はありません。代わりに、フォーカスがメニューに入ります。

 

[アプリケーション] メニューには、1 つ以上の MenuGroup 要素で表されるコマンドの一覧と、ApplicationMenu.RecentItems 要素で表される [最近のアイテム] リストの 2 つのペインが含まれています。

アプリケーション メニュー メニューグループ

ApplicationMenu 要素には、アプリケーション レベルのコマンドの一覧を公開する MenuGroup 子要素が少なくとも 1 つ含まれている必要があります。 複数の MenuGroup 要素が宣言されている場合、次のスクリーン ショットに示すように、グループ間に区切り線が描画されます。

アプリケーション メニュー メニュー グループのスクリーン ショット。

アプリケーション メニューの MenuGroup 要素の制約の一覧を次に示します。

MenuGroupボタンを使用すると、次のスクリーン ショットに示すように、Command.LabelTitle の値がメニューに表示され、Command.TooltipTitleCommand.TooltipDescription の値がツールヒントとして表示されます。

アプリケーション メニューのボタン コントロールのスクリーン ショット。

アプリケーション メニューで ドロップダウン ボタン分割ボタンドロップダウン ギャラリー、または 分割ボタン ギャラリー を使用すると、メニュー部分がポップアップとして表示され、[最近使用した アイテム ] ウィンドウが表示されます。

[分割ボタン] コントロールと [ドロップダウン ボタン] コントロールの場合、ポップアップ メニューに Command.LabelDescription の値がインラインで表示され、ユーザーがコマンド機能を見つけるのを視覚的に支援します。 Command.LabelDescription の表示値は、プログラムによって 2 行のスパンで分割され、下の [最近使用したアイテム] ペインに正確に値が収まるように試みられます。 Command.LabelDescription の値が収まらない場合は、ポップアップが展開され、MenuGroup の最長の Command.Comment 値に対応します。

次のスクリーン ショットは、 分割ボタン ポップアップでのこれらの動作を示しています。

アプリケーション メニューのリスト コントロール ポップアップのスクリーン ショット。

ドロップダウン ギャラリー分割ボタン ギャラリーでは、ラベルと画像のみが表示されます。

アプリケーション メニューのサイズ設定

アプリケーション メニューのサイズ設定は、リボン フレームワークによって処理されます。 Command.LabelTitle または Command.LabelDescription の値に非常に長い文字列が指定されている場合、または Commands の長いリストが使用されている場合、メニューは内容に合わせてサイズを調整します。 調整の一部の形式には、ポップアップまたはメニュー ウィンドウのサイズの拡大、スクロールが必要な場合のパン ビューアーの追加などがあります。

アプリケーション メニューのプロパティ

リボン フレームワークは、アプリケーション メニュー コントロールの プロパティ キー のコレクションを定義します。

通常、アプリケーション メニュー プロパティは、 IUIFramework::InvalidateUICommand メソッドの呼び出しによってコントロールに関連付けられている Command を無効にすることで、リボン UI で更新されます。 無効化イベントが処理され、プロパティの更新は IUICommandHandler::UpdateProperty コールバック メソッドによって定義されます。

IUICommandHandler::UpdateProperty コールバック メソッドは実行されず、フレームワークでプロパティが必要になるまで、アプリケーションは更新されたプロパティ値のクエリを実行しません。 たとえば、タブがアクティブ化され、リボン UI でコントロールが表示されたとき、またはツールヒントが表示される場合、フレームワークには プロパティが必要です。

プロパティ キー メモ
UI_PKEY_TooltipDescription 無効化によってのみ更新できます。
UI_PKEY_TooltipTitle 無効化によってのみ更新できます。

 

Windows リボン フレームワーク コントロール ライブラリ

ApplicationMenu マークアップ要素