應用程式功能表
[應用程式功能表] 是實作 Windows 功能區架構之應用程式的主要功能表。
簡介
[應用程式功能表] 是由下拉式按鈕控制項所組成,可顯示包含命令的功能表,這些功能表會公開與完整專案相關的功能,例如整個檔、圖片或電影。 範例包括 [新增]、[ 開啟]、[ 儲存] 和 [ 結束 命令]。
下列螢幕擷取畫面說明應用程式功能表。
應用程式功能表的元件
應用程式功能表是任何功能區應用程式中的必要元素。 [應用程式功能表] 的進入點是一個獨特的按鈕,會顯示為 Tab 資料列中的第一個專案,如下列螢幕擷取畫面所示。
注意
Windows 8 和更新版本:應用程式功能表按鈕影像已變更為標籤: 檔案。 我們建議您不要使用 [檔案] 作為任何您自己的索引標籤的標籤。
按一下時,此按鈕會顯示下列螢幕擷取畫面所示的豐富功能表, (適用于 Windows 7 的 WordPad 的應用程式功能表) 。
注意
按一下 [應用程式功能表] 按鈕時,對索引標籤集沒有任何影響;相反地,焦點會進入功能表。
應用程式功能表包含兩個窗格:一或多個MenuGroup元素所代表的命令清單,以及ApplicationMenu.RecentItems元素所代表的最近專案清單。
應用程式功能表功能表群組
ApplicationMenu元素必須至少包含一個MenuGroup子項目,以公開應用層級命令的清單。 如果宣告多個 MenuGroup 元素,則會在群組之間繪製分隔線,如下列螢幕擷取畫面所示。
以下是應用程式功能表之 MenuGroup 元素的條件約束清單:
所有 MenuGroup 專案都必須 以 類別屬性值
MajorItems
宣告。應用程式功能表 功能表群組 僅支援 [按鈕]、 [下拉式按鈕]、[ 分割按鈕]、 [下拉式資源庫] 和 [分割按鈕庫 ] 控制項。
![重要]
命令庫是應用程式功能表支援的唯一資源庫類型。 如需資源庫控制項的詳細資訊,請參閱 使用資源庫。
在MenuGroup中使用Button時,Command.LabelTitle的值會顯示在功能表中,而Command.TooltipTitle和Command.TooltipDescription的值會顯示為工具提示,如下列螢幕擷取畫面所示。
當 [應用程式] 功能表中使用 [下拉式按鈕]、[ 分割按鈕]、[ 下拉式資源庫] 或 [ 分割按鈕 庫] 時,功能表部分會顯示為涵蓋並隱藏 [最近專案 ] 窗格的飛出視窗。
針對 [分割按鈕 ] 和 [ 下拉式按鈕] 控制項 , Command.LabelDescription 的值會顯示在飛出視窗功能表中,以視覺化方式協助使用者探索命令功能。 Command.LabelDescription的顯示值會以程式設計方式在兩行範圍上中斷,並嘗試完全符合 [最近專案] 窗格下方的值。 如果Command.LabelDescription值不符合,飛出視窗將會展開以容納MenuGroup中最長的Command.Comment值。
下列螢幕擷取畫面說明分割 按鈕 飛出視窗中的這些行為。
調整應用程式功能表的大小
應用程式功能表的大小是由功能區架構處理。 如果為 Command.LabelTitle 或 Command.LabelDescription的值提供很長的字串,或使用長清單的 Commands,功能表會調整其大小以容納內容。 某些形式的調整包括展開飛出視窗或功能表窗格的大小,以及在需要捲動時新增移動流覽檢視器。
應用程式功能表屬性
功能區架構會定義應用程式功能表控制項 的屬性索引鍵 集合。
一般而言,應用程式功能表屬性會在功能區 UI 中更新,方法是透過呼叫 IUIFramework::InvalidateUICommand 方法,使與控制項相關聯的命令失效。 系統會處理無效事件,而且屬性更新是由 IUICommandHandler::UpdateProperty 回呼方法所定義。
IUICommandHandler::UpdateProperty回呼方法不會執行,而且除非架構需要屬性,否則不會查詢應用程式是否有更新的屬性值。 例如,當啟用索引標籤且在功能區 UI 中顯示控制項時,或顯示工具提示時,架構需要 屬性。
屬性索引鍵 | 備註 |
---|---|
UI_PKEY_TooltipDescription | 只能透過失效來更新。 |
UI_PKEY_TooltipTitle | 只能透過失效來更新。 |
相關主題