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