应用程序菜单
应用程序菜单是实现 Windows 功能区框架的应用程序的main菜单。
简介
应用程序菜单由一个下拉按钮控件组成,该控件显示一个菜单,其中包含公开与整个项目(如整个文档、图片或电影)相关的功能的命令。 示例包括 “新建”、“ 打开”、“ 保存”和“ 退出 ”命令。
以下屏幕截图演示了应用程序菜单。
应用程序菜单的组件
应用程序菜单是任何功能区应用程序中的必需元素。 应用程序菜单的入口点是一个独特的按钮,显示为 “选项卡” 行中的第一项,如以下屏幕截图所示。
注意
Windows 8 及更新版本:“应用程序菜单”按钮图像更改为标签: 文件。 建议不要使用“文件”作为自己的任何选项卡的标签。
单击后,此按钮将显示以下屏幕截图中显示的丰富菜单, (Windows 7) 的写字板中的应用程序菜单。
注意
单击“应用程序菜单”按钮时,不会影响选项卡集;相反,焦点进入菜单。
应用程序菜单包含两个窗格:由一个或多个 MenuGroup 元素表示的命令列表,以及由 ApplicationMenu.RecentItems 元素表示的“最近使用的项目”列表。
应用程序菜单菜单组
ApplicationMenu 元素必须至少包含一个公开应用程序级命令列表的 MenuGroup 子元素。 如果声明了多个 MenuGroup 元素,则会在组之间绘制一条分隔线,如以下屏幕截图所示。
下面是应用程序菜单的 MenuGroup 元素的约束列表:
所有 MenuGroup 项都必须使用 Class 属性值
MajorItems
进行声明。应用程序菜单 菜单组 仅支持 按钮、 下拉按钮、 拆分按钮、 下拉库和 拆分按钮库 控件。
![重要提示]
命令库是应用程序菜单中唯一支持的库类型。 有关 库控件的详细信息,请参阅使用库。
在 MenuGroup 中使用 Button 时,Command.LabelTitle 的值将显示在菜单中,Command.TooltipTitle 和 Command.TooltipDescription 的值显示为工具提示,如以下屏幕截图所示。
在应用程序 菜单中使用下拉按钮、 拆分按钮、 下拉库或 拆分按钮库 时,菜单部分将显示为覆盖和隐藏“ 最近使用的项目 ”窗格的浮出控件。
对于 拆分按钮 和 下拉按钮 控件, Command.LabelDescription 的值在浮出控件菜单中内联显示,以直观地帮助用户发现命令功能。 Command.LabelDescription 的显示值以编程方式在两行跨度上中断,并尝试将该值完全拟合在下面的“最近项目”窗格上。 如果 Command.LabelDescription 值不适合,浮出控件将展开以容纳 MenuGroup 中最长的 Command.Comment 值。
以下屏幕截图演示了 “拆分按钮” 浮出控件中的这些行为。
调整应用程序菜单的大小
应用程序菜单的大小调整由功能区框架处理。 如果为 Command.LabelTitle 或 Command.LabelDescription 的值提供了很长的字符串,或者使用了长长的命令列表,则菜单将调整其大小以适应内容。 某些形式的调整包括扩展浮出控件或菜单窗格的大小,以及当需要滚动时添加平移查看器。
应用程序菜单属性
功能区框架定义应用程序菜单控件 的属性键 集合。
通常,通过调用 IUIFramework::InvalidateUICommand 方法使与控件关联的命令失效,从而在功能区 UI 中更新应用程序菜单属性。 处理无效事件,属性更新由 IUICommandHandler::UpdateProperty 回调方法定义。
不会执行 IUICommandHandler::UpdateProperty 回调方法,并且除非框架需要属性,否则不会查询应用程序以获取更新的属性值。 例如,当激活选项卡并在功能区 UI 中显示控件或显示工具提示时,框架需要 属性。
属性键 | 备注 |
---|---|
UI_PKEY_TooltipDescription | 只能通过失效进行更新。 |
UI_PKEY_TooltipTitle | 只能通过失效进行更新。 |
相关主题