转自:http://www.jizhuomi.com/software/251.html

上一节讲了GDI对象之画刷CBrush,至此图形图像的入门知识就讲完了。从本节开始将为大家带来Ribbon界面开发的有关内容。本文先来说说如何创建Ribbon样式的应用程序框架。

Ribbon界面就是微软从Office2007开始引入的一种为了使应用程序的功能更加易于发现和使用、减少了点击鼠标的次数的新型界面,从实际效果来看,不仅外观漂亮,而且功能直观,用户操作简洁方便。

下面将以图文结合的方式来说明利用MFC向导创建Ribbon样式的单文档应用程序框架的过程,其实Ribbon应用程序框架的创建有很多地方与普通单文档应用程序类似,所以如果有些步骤的选项不太明白,可以参见VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)

下面是具体步骤:

1、打开VS2010,在菜单中选择File->New->Project,弹出标题为“New Project”的对话框。在此对话框左侧面板中选择Installed Templates->Visual C++->MFC,然后在中间区域中选择“MFC Application”。

选择了工程类型后,可以看到对话框下边有三个设置项,分别是Name--工程名、Location--解决方案路径、Solution Name--解决方案名称。这里将Name设为“Example52”,Location设为“桌面”的路径,Solution Name默认与Name一样,我们这里不作修改。如下图:

点“OK”按钮。

2、这时会弹出“MFC Application Wizard”对话框,上部写有“Welcome to the MFC Application Wizard”,下面显示了当前工程的默认设置。第一条“Tabbed multiple document interface (MDI)”是说此工程是多文档应用程序。如果这时直接点下面的“Finish”按钮,可生成具有上面列出设置的多文档程序。但我们此例是要建立Ribbon样式的单文档应用程序,所以点“Next”按钮再继续设置吧。

3、接下来弹出的对话框上部写有“Application Type”,当然是让选择应用程序类型,我们选择“Single document”,说明要创建的是单文档应用程序框架。另外,在“Project Type”下选择“Office”,表示此应用程序为Office风格。如下图:

点“Next”按钮。

4、弹出上部写有“Compound Document Support”的对话框,可以通过它向应用程序加入OLE支持,这里使用默认值“None”。点“Next”按钮。

5、弹出的新对话框上部写有“Document Template Properties”。这里都使用默认设置,点“Next”按钮。

6、此时弹出的对话框主题是“Database Support”。用于设置数据库选项。依然使用默认值,点“Next”。

7、这时弹出的对话框是关于“User Interface Features”,即用户界面特性的。由于我们要使用Ribbon界面,所以要确保“Command bars (menu/toolbar/ribbon)”下的单选按钮“Use a ribbon”选中。其他设置使用默认值。如下图:

点“Next”按钮。

8、此时弹出“高级特性”对话框。可以设置的高级特性包括有无打印和打印预览等。保持默认值不变,点“Next”。

9、弹出最后一个“Generated Classes”(生成类)向导对话框,列出了要生成的四个类。这里不作修改,点“Finish”。

这样我们就完成了创建Ribbon样式的应用程序框架的全部设置。编译运行程序,得到如下的的Ribbon界面(Office 2007(Blue Style)):

在Ribbon界面的右上角位置有个“Style”下拉菜单,我们可以选择不同的Style,在Office 2007 (Blue Style)、Office 2007 (Black Style)、Office 2007 (Silver Style)、Office 2007 (Aqua Style)、Windows 7等5中风格之间切换。

关于Ribbon样式的应用程序框架的创建就讲到这里了,有了以前的基础,这些操作可以说都是小菜一碟。

最新文章

  1. ASP.NET跨服务器上传文件的相关解决方案
  2. UESTC 1256 昊昊爱运动 Map
  3. android 休眠唤醒机制分析(三) — suspend
  4. 线性表(存储结构数组)--Java 实现
  5. Idea(一) 安装与破解
  6. AI之微信跳一跳
  7. 快速排序实现及其pivot的选取
  8. vue_ajax 请求
  9. Vue-Router路由 Vue-CLI脚手架和模块化开发 之 使用路由对象获取参数
  10. [LeetCode] 90.Subsets II tag: backtracking
  11. 关于ExpressionChangedAfterItHasBeenCheckedError
  12. 【UWP】手动实现 WebAuthenticationBroker
  13. 2017-12-06 JavaScript实现ZLOGO子集: 单层循环功能
  14. Linux下输出 excel文件
  15. 获取本机内网、外网ip(C++)<转>
  16. 使用psutil库监控linux的系统资源和自定义进程的cpu 内存占用。
  17. Java直接用javac来编译带package的类
  18. Hadoop(16)-MapReduce框架原理-自定义FileInputFormat
  19. ctsc2009 移民站选址
  20. ZooKeeper原理 --------这可能是把ZooKeeper概念讲的最清楚的一篇文章

热门文章

  1. one-hot encoding与哑变量的区别
  2. [转]PHP base64_encode 在URL地址参数编码上使用
  3. 使用osgearth2.9 rex引擎在Qt中黑屏的问题修复
  4. leetcood学习笔记-171-excel表列序号
  5. Jmeter-【beanshell处理器】-随机获取手机号
  6. thinkphp 模型调试
  7. Spring源码由浅入深系列四 创建BeanFactory
  8. 新建的maven项目里没有src
  9. Python3数据科学入门与实践✍✍✍
  10. Auto.js淘宝领喵币