最近使用的项目
“最近使用的项目”列表是 “应用程序”菜单中 的一个窗格,显示应用程序最近使用的 (MRU) 项。
详细信息
以下屏幕截图演示了 Windows 7) 写字板中的“最近使用的项目”列表。
应用程序菜单最多可以有一个 ApplicationMenu.RecentItems 列表(由 ApplicationMenu.RecentItems 元素表示),用于显示用户最近处理的文档、图片、电影和其他项目。 列出的项数范围为 0 到标记中指定的最大数目,默认值为 10。 最近的项显示为指示文件名的字符串的编号列表。 建议使用 Command.LabelDescription 属性来提供文件位置的完整路径,如以下屏幕截图所示。
RecentItems 元素具有 EnablePinning 属性,如果设置为 true
,则会在列表中每个项的右侧显示固定图标,如以下屏幕截图所示。
注意
如果未指定 EnablePinning 属性,则默认启用固定。
固定算法旨在防止项从“ 最近使用的项目 ”列表中掉落。 该算法生成以下行为:
- 新项始终添加到“ 最近使用的项目 ”列表的顶部。
- 随着时间推移,项将在列表中向下移动。 列表已满 (达到标记) 中指定的最大项数后,随着新项添加到列表顶部,较旧的项会从列表底部掉落。
- 如果某个项已出现在列表中的某个位置,但再次被访问,它将移回列表顶部。
- 如果某个项已固定,它仍将在列表中向下移动,但不会从底部掉下来。 相反,一旦列表已满,固定项上方的第一个未固定项将在将新项添加到列表中时掉落。
- 如果固定的项数达到最大项数,则在取消固定项之前,不会向列表中添加新项。
最近使用的项目属性
功能区框架定义“最近使用的项目”控件 的属性键 集合。
通常,通过调用 IUIFramework::InvalidateUICommand 方法使与控件关联的命令失效,从而在功能区 UI 中更新“最近项目”属性。 无效事件由 IUICommandHandler::UpdateProperty 回调方法处理,并更新定义的属性。
IUICommandHandler::UpdateProperty 回调方法不会执行,应用程序会查询更新的属性值,直到框架需要该属性。 例如,在功能区 UI 中激活选项卡和显示控件时,或显示工具提示时。
注意
在某些情况下,可以通过 IUIFramework::GetUICommandProperty 方法检索属性,并使用 IUIFramework::SetUICommandProperty 方法进行设置。
下表列出了与“最近使用的项目”控件关联的属性键。
属性键 | 说明 |
---|---|
UI_PKEY_Keytip | 只能通过失效进行更新。 |
UI_PKEY_RecentItems | 只能通过失效进行更新。 |
备注
IApplicationDocumentLists::GetList 方法可用于检索功能区应用程序的 Windows Shell MRU 列表。 然后,应用程序可以使用此方法检索的对象来创建功能区框架填充应用程序菜单的“最近使用的项目”列表所需的数据。
注意
使用此方法时, listtype 应具有值 ADLT_RECENT
。
有关如何在功能区框架应用程序中实现 MRU 项列表的示例,请参阅 HTMLEditRibbon 示例。
相关主题