Share via


最近的項目

[最近的專案] 清單是 [應用程式] 功能表中 的窗格,顯示應用程式最近使用的 (MRU) 專案。

詳細資料

下列螢幕擷取畫面說明 WordPad for Windows 7) 的 [最近使用的專案] 清單。

microsoft paint 功能區中最近專案清單的螢幕擷取畫面。

[應用程式] 功能表最多可以有一個ApplicationMenu.RecentItems清單,由ApplicationMenu.RecentItems元素代表,用來顯示使用者正在處理的最新檔、圖片、電影和其他專案。 列出的專案數目從零到標記中指定的最大數目,預設值為 10。 最近的專案會顯示為指出檔案名的字串編號清單。 建議使用 Command.LabelDescription 屬性來提供檔案位置的完整路徑,如下列螢幕擷取畫面所示。

應用程式功能表中最近專案清單的螢幕擷取畫面。

RecentItems元素具有EnablePinning屬性,如果設定為 true ,則會在清單中顯示每個專案右邊的釘選圖示,如下列螢幕擷取畫面所示。

注意

如果未指定 EnablePinning 屬性,則預設會啟用釘選。

 

應用程式功能表中最近釘選項目的螢幕擷取畫面。

釘選演算法的目的是讓專案無法離開 [最近使用的專案 ] 清單。 演算法會產生下列行為:

  • 新專案一律會新增至 [最近使用的專案 ] 清單頂端。
  • 專案會隨著時間往下移。 當清單已滿 (到達標記) 中指定的專案數目上限之後,較舊的專案就會落在清單底部,因為新專案會新增至清單頂端。
  • 如果專案已經出現在清單中的某處,但再次存取,則會回到清單頂端。
  • 如果釘選項目,它仍會向下移動清單,但不會落在底部。 相反地,當清單已滿之後,釘選項目上方的第一個未釘選項目會在將新專案新增至清單中時中斷。
  • 如果釘選的專案數目達到專案數目上限,則不會將新專案新增至清單中,直到專案取消釘選為止。

最近的專案屬性

功能區架構會定義 [最近專案] 控制項 的屬性索引鍵 集合。

一般而言,透過呼叫 IUIFramework::InvalidateUICommand 方法,使與控制項相關聯的命令失效,以更新功能區 UI 中的 Recent Items 屬性。 會處理無效事件,以及 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 功能區架構控制項程式庫

最近的專案標記專案