本演练演示如何使用 MFC 应用程序向导 创建默认具有功能区的应用程序。 然后,可以通过添加具有收藏夹功能区面板的自定义功能区类别,然后将一些常用命令添加到面板来展开功能区。
先决条件
本演练假定已将 Visual Studio 设置为使用 常规开发设置。 如果使用不同的设置,可能无法显示以下说明中引用的一些用户界面(UI)元素。
创建具有功能区的 MFC 应用程序
使用 MFC 应用程序向导 创建具有功能区的 MFC 应用程序。 请参阅 指南:使用新的 MFC Shell 控件,了解如何在您的 Visual Studio 版本中打开向导。
在 MFC 应用程序向导中设置以下选项:
在“应用程序类型”部分的“视觉样式和颜色”下,选择“Office 2007”(蓝色主题)。
在 “复合文档支持 ”部分中,确保已选择 “无 ”。
在 “文档模板属性” 部分的 “文件扩展名 ”框中,键入此应用程序创建的文档的文件扩展名,例如 mfcrbnapp。
在 “数据库支持 ”部分(仅限 Visual Studio 2015)中,确保已选择 “无 ”。
在 “用户界面功能 ”部分中,确保已选择 “使用功能区 ”。
默认情况下, MFC 应用程序向导 添加了对多个停靠窗格的支持。 由于本演练只介绍了功能区,因此可以从应用程序中删除这些选项。 在 “高级功能 ”部分中,清除所有选项。
单击“ 完成 ”以创建 MFC 应用程序。
若要验证应用程序是否已成功创建,请生成并运行它。 若要生成应用程序,请在“生成”菜单上单击“生成解决方案”。 如果应用程序成功生成,请单击“调试”菜单上的“开始调试”来运行它。
向导会自动创建一个功能区,其中包含一个名为 “开始”的功能区类别。 此功能区包含三个功能区面板,这些面板名为 剪贴板、 视图和 窗口。
向功能区添加类别和面板
若要打开向导创建的功能区资源,请在 “视图 ”菜单上指向 “其他 Windows ”,然后单击“ 资源视图”。 在 资源视图中,单击 功能区 ,然后双击 IDR_RIBBON。
首先,通过在工具箱中双击“类别”,将自定义类别添加到功能区。
创建具有标题 Category1 的类别。 默认情况下,类别包含一个面板。
右键单击 Category1 ,然后单击“ 属性”。 在 “属性” 窗口中,将 “标题 ”更改为 “自定义”。
“大图像”和“小图像”属性指定用作此类别中功能区元素图标的位图。 由于创建自定义位图超出了本演练的范围,因此只需重复使用向导创建的位图。 小位图为 16 像素,以 16 像素为单位。 对于小型图像,请使用资源 ID 访问的
IDB_FILESMALL
位图。 大型位图为 32 像素(以 32 像素为单位)。 对于大型图像,请使用资源 ID 访问的IDB_FILELARGE
位图。注释
在每英寸高点(HDPI)显示器上,将自动使用图像的 HDPI 版本。
接下来,自定义面板。 面板用于对逻辑上彼此相关的项进行分组。 例如,在此应用程序的 “开始 ”选项卡上, “剪切”、“ 复制”和 “粘贴 ”命令都位于 剪贴板 面板上。 若要自定义面板,请右键单击 Panel1 ,然后单击“ 属性”。 在 “属性” 窗口中,将 “标题 ”更改为 “收藏夹”。
可以为面板指定 图像索引 。 此数字指定将功能区面板添加到 快速访问工具栏时显示的图标。 图标不显示在功能区面板本身上。
若要验证是否已成功创建功能区类别和面板,请预览功能区控件。 在 功能区编辑器工具栏上,单击 “测试功能区 ”按钮。 应在功能区上显示 “自定义 ”选项卡和 “收藏夹 ”面板。
向功能区面板添加元素
若要将元素添加到在上一过程中创建的面板,请将控件从工具箱的功能区编辑器部分拖动到设计视图中的面板。
首先,添加 “打印 ”按钮。 “ 打印 ”按钮将具有一个子菜单,其中包含使用默认打印机打印的 快速打印 命令。 这两个命令都已为此应用程序定义。 它们位于应用程序菜单上。
若要创建 “打印 ”按钮,请将按钮工具拖到面板。
在 “属性” 窗口中,将 ID 属性更改为 ID_FILE_PRINT,该属性应已定义。 将 标题 更改为 “打印”。 将 图像索引 更改为 4。
若要创建 “快速打印 ”按钮,请单击 菜单项旁边的属性值列,然后单击省略号(...)。在 “项编辑器”中,单击未标记的 “添加 ”按钮以创建菜单项。 在 “属性” 窗口中,将 “标题 ”更改为 “快速打印”,将 ID 更改为 “ID_FILE_PRINT_DIRECT”,将 “图像 ”更改为 5。 图像属性指定位图资源中的
IDB_FILESMALL
快速打印图标。若要验证是否已将按钮添加到功能区面板,请生成应用程序并运行它。 若要生成应用程序,请在“生成”菜单上单击“生成解决方案”。 如果应用程序已成功生成,请单击“调试”菜单上的“开始调试”来运行应用程序。 应显示功能区上“自定义”选项卡上“收藏夹”面板上的“打印”按钮和组合框。
后续步骤
有关端到端示例,请参阅示例(MFC 功能包)。