最近使った項目
[最近使用したアイテム] リストは、[ アプリケーション] メニュー のウィンドウで、アプリケーションで最も最近使用した (MRU) 項目が表示されます。
詳細
次のスクリーン ショットは、Windows 7 用ワードパッドの最近使用したアイテムの一覧を示しています。
Application Menu には、ApplicationMenu.RecentItems 要素で表される ApplicationMenu.RecentItems リストを 1 つまで指定して、ユーザーが作業している最近のドキュメント、画像、ムービー、その他のプロジェクトを表示できます。 リストされた項目の数は、0 からマークアップで指定された最大数までで、既定値は 10 です。 最近使用した項目は、ファイル名を示す文字列の番号付きリストとして表示されます。 次のスクリーン ショットに示すように、 Command.LabelDescription プロパティを使用してファイルの場所の完全なパスを指定することをお勧めします。
RecentItems 要素には EnablePinning 属性があり、 にtrue
設定すると、次のスクリーン ショットに示すように、リスト内の各項目の右側にピン アイコンが表示されます。
注意
EnablePinning 属性が指定されていない場合、ピン留めは既定で有効になります。
ピン留めアルゴリズムは、アイテムが [最近使 ったアイテム] リストから外れないようにするためのものです。 このアルゴリズムでは、次の動作が生成されます。
- 新しいアイテムは常に [ 最近使ったアイテム ] リストの上部に追加されます。
- アイテムは時間の経過と同時にリスト内で下に移動します。 リストがいっぱいになると (マークアップで指定されたアイテムの最大数に達)、新しい項目がリストの先頭に追加されると、古い項目はリストの下部から削除されます。
- 項目がリスト内のどこかに既に表示されているが、再度アクセスされた場合は、リストの一番上に戻ります。
- アイテムがピン留めされている場合でも、リストの下に移動しますが、一番下から外れるわけではありません。 代わりに、リストがいっぱいになると、新しい項目がリストに追加されると、ピン留めされたアイテムの上の最初のピン留めされていない項目が削除されます。
- ピン留めされたアイテムの数がアイテムの最大数に達した場合、項目がピン留めされない限り、新しい項目はリストに追加されません。
最近使用したアイテムのプロパティ
リボン フレームワークは、Recent Items コントロールの プロパティ キー のコレクションを定義します。
通常、リボン UI の Recent Items プロパティは、 IUIFramework::InvalidateUICommand メソッドの呼び出しによってコントロールに関連付けられている Command を無効にすることで更新されます。 無効化イベントが処理され、 IUICommandHandler::UpdateProperty コールバック メソッドによってプロパティが更新されます。
IUICommandHandler::UpdateProperty コールバック メソッドは実行されず、アプリケーションはフレームワークでプロパティが必要になるまで、更新されたプロパティ値を照会しました。 たとえば、タブがアクティブ化され、リボン UI に表示されるコントロールや、ツールヒントが表示されたときなどです。
注意
場合によっては、 IUIFramework::GetUICommandProperty メソッドを使用してプロパティを取得し、 IUIFramework::SetUICommandProperty メソッドで設定できます。
次の表に、Recent Items コントロールに関連付けられているプロパティ キーの一覧を示します。
プロパティ キー | メモ |
---|---|
UI_PKEY_Keytip | 無効化によってのみ更新できます。 |
UI_PKEY_RecentItems | 無効化によってのみ更新できます。 |
注釈
IApplicationDocumentLists::GetList メソッドを使用して、リボン アプリケーションの Windows シェル MRU リストを取得できます。 その後、このメソッドによって取得された オブジェクトをアプリケーションで使用して、リボン フレームワークで必要なデータを作成し、[アプリケーション メニュー] の [最近使用した項目] リストにデータを設定できます。
Note
このメソッドを使用する場合、 listtype の値 ADLT_RECENT
は である必要があります。
リボン フレームワーク アプリケーションで MRU 項目リストを実装する方法の例については、 HTMLEditRibbon サンプルを参照してください。
関連トピック