アプリケーション メニュー
[アプリケーション] メニューは、Windows リボン フレームワークを実装するアプリケーションのメイン メニューです。
はじめに
アプリケーション メニューは、ドキュメント、画像、ムービー全体など、完全なプロジェクトに関連する機能を公開するコマンドを含むメニューを表示するドロップダウン ボタン コントロールで構成されます。 たとえば、 New コマンド、 Open コマンド、 Save コマンド、 Exit コマンドなどがあります。
次のスクリーン ショットは、[アプリケーション] メニューを示しています。
アプリケーション メニューのコンポーネント
[アプリケーション] メニューは、任意のリボン アプリケーションで必須の要素です。 アプリケーション メニューのエントリ ポイントは、次のスクリーン ショットに示すように、 Tab 行の最初の項目として表示される独特のボタンです。
Note
Windows 8 以降: [アプリケーション メニュー] ボタンの画像がラベルに変更されました: [ファイル] 。 独自のタブのラベルとして [ファイル] を使用しないことをお勧めします。
このボタンをクリックすると、次のスクリーン ショット (Windows 7 用ワードパッドの [アプリケーション] メニュー) に表示されるリッチ メニューが表示されます。
Note
[アプリケーション メニュー] ボタンをクリックしても、タブ セットに影響はありません。代わりに、フォーカスがメニューに入ります。
[アプリケーション] メニューには、1 つ以上の MenuGroup 要素で表されるコマンドの一覧と、ApplicationMenu.RecentItems 要素で表される [最近のアイテム] リストの 2 つのペインが含まれています。
アプリケーション メニュー メニューグループ
ApplicationMenu 要素には、アプリケーション レベルのコマンドの一覧を公開する MenuGroup 子要素が少なくとも 1 つ含まれている必要があります。 複数の MenuGroup 要素が宣言されている場合、次のスクリーン ショットに示すように、グループ間に区切り線が描画されます。
アプリケーション メニューの MenuGroup 要素の制約の一覧を次に示します。
すべての MenuGroup 項目は 、Class 属性値
MajorItems
を使用して宣言する必要があります。アプリケーション メニュー メニュー グループ では、 ボタン、 ドロップダウン ボタン、 分割ボタン、 ドロップダウン ギャラリー、および 分割ボタン ギャラリー コントロールのみがサポートされます。
![重要]
コマンド ギャラリーは、アプリケーション メニューでサポートされている唯一の種類のギャラリーです。 ギャラリー コントロールの詳細については、「 ギャラリーの操作」を参照してください。
MenuGroup でボタンを使用すると、次のスクリーン ショットに示すように、Command.LabelTitle の値がメニューに表示され、Command.TooltipTitle と Command.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 | 無効化によってのみ更新できます。 |
関連トピック