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