最近使用的项目

“最近的项目”列表是 应用程序菜单 中的一个窗格,用于显示应用程序最近使用的 (MRU) 项。

以下屏幕截图演示了适用于 Windows 7 的 WordPad 中的“最近使用的项目”列表。

microsoft 画区中最近项列表的 屏幕截图。

应用程序菜单 最多可以有一个 ApplicationMenu.RecentItems 列表,该列表由 ApplicationMenu.RecentItems 元素表示,用于显示用户正在处理的最新文档、图片、电影和其他项目。 列出的项数从零到标记中指定的最大数目,默认值为 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 示例

Windows 功能区框架控件库

最近项标记元素