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