Share via


應用程式功能表

[應用程式功能表] 是實作 Windows 功能區架構之應用程式的主要功能表。

簡介

[應用程式功能表] 是由下拉式按鈕控制項所組成,可顯示包含命令的功能表,這些功能表會公開與完整專案相關的功能,例如整個檔、圖片或電影。 範例包括 [新增]、[ 開啟]、[ 儲存] 和 [ 結束 命令]。

下列螢幕擷取畫面說明應用程式功能表。

應用程式功能表的螢幕擷取畫面,以及 Windows 7 功能區繪製的最近專案清單。

應用程式功能表的元件

應用程式功能表是任何功能區應用程式中的必要元素。 [應用程式功能表] 的進入點是一個獨特的按鈕,會顯示為 Tab 資料列中的第一個專案,如下列螢幕擷取畫面所示。

注意

Windows 8 和更新版本:應用程式功能表按鈕影像已變更為標籤: 檔案。 我們建議您不要使用 [檔案] 作為任何您自己的索引標籤的標籤。

 

Windows 7 之文字板的應用程式功能表按鈕螢幕擷取畫面。

按一下時,此按鈕會顯示下列螢幕擷取畫面所示的豐富功能表, (適用于 Windows 7 的 WordPad 的應用程式功能表) 。

Windows 7 之文字板的應用程式功能表螢幕擷取畫面。

注意

按一下 [應用程式功能表] 按鈕時,對索引標籤集沒有任何影響;相反地,焦點會進入功能表。

 

應用程式功能表包含兩個窗格:一或多個MenuGroup元素所代表的命令清單,以及ApplicationMenu.RecentItems元素所代表的最近專案清單。

應用程式功能表功能表群組

ApplicationMenu元素必須至少包含一個MenuGroup子項目,以公開應用層級命令的清單。 如果宣告多個 MenuGroup 元素,則會在群組之間繪製分隔線,如下列螢幕擷取畫面所示。

應用程式功能表功能表群組的螢幕擷取畫面。

以下是應用程式功能表之 MenuGroup 元素的條件約束清單:

MenuGroup中使用Button時,Command.LabelTitle的值會顯示在功能表中,而Command.TooltipTitleCommand.TooltipDescription的值會顯示為工具提示,如下列螢幕擷取畫面所示。

應用程式功能表中按鈕控制項的螢幕擷取畫面。

當 [應用程式] 功能表中使用 [下拉式按鈕]、[ 分割按鈕]、[ 下拉式資源庫] 或 [ 分割按鈕 庫] 時,功能表部分會顯示為涵蓋並隱藏 [最近專案 ] 窗格的飛出視窗。

針對 [分割按鈕 ] 和 [ 下拉式按鈕] 控制項Command.LabelDescription 的值會顯示在飛出視窗功能表中,以視覺化方式協助使用者探索命令功能。 Command.LabelDescription的顯示值會以程式設計方式在兩行範圍上中斷,並嘗試完全符合 [最近專案] 窗格下方的值。 如果Command.LabelDescription值不符合,飛出視窗將會展開以容納MenuGroup中最長的Command.Comment值。

下列螢幕擷取畫面說明分割 按鈕 飛出視窗中的這些行為。

應用程式功能表中清單控制項飛出視窗的螢幕擷取畫面。

使用 下拉式資源庫分割按鈕庫時,只會顯示標籤和影像。

調整應用程式功能表的大小

應用程式功能表的大小是由功能區架構處理。 如果為 Command.LabelTitleCommand.LabelDescription的值提供很長的字串,或使用長清單的 Commands,功能表會調整其大小以容納內容。 某些形式的調整包括展開飛出視窗或功能表窗格的大小,以及在需要捲動時新增移動流覽檢視器。

應用程式功能表屬性

功能區架構會定義應用程式功能表控制項 的屬性索引鍵 集合。

一般而言,應用程式功能表屬性會在功能區 UI 中更新,方法是透過呼叫 IUIFramework::InvalidateUICommand 方法,使與控制項相關聯的命令失效。 系統會處理無效事件,而且屬性更新是由 IUICommandHandler::UpdateProperty 回呼方法所定義。

IUICommandHandler::UpdateProperty回呼方法不會執行,而且除非架構需要屬性,否則不會查詢應用程式是否有更新的屬性值。 例如,當啟用索引標籤且在功能區 UI 中顯示控制項時,或顯示工具提示時,架構需要 屬性。

屬性索引鍵 備註
UI_PKEY_TooltipDescription 只能透過失效來更新。
UI_PKEY_TooltipTitle 只能透過失效來更新。

 

Windows 功能區架構控制項程式庫

ApplicationMenu 標記專案