一直都想已久一下vs2008SP1中MFC的Ribbon功能,终于这个周末把图形学课第一节的试验搬到VS2008上来了··

帅气的Ribbon功能有着强大有诱惑力。这个程序还是比较简陋的,主要是来测试一下Ribbon的。

上面的工具栏的代码是在MainFrm.CPP中生成的

主要分成3层结构:

第一层:分类(容器) CMFCRibbonCategory

第二层:面板(容器) CMFCRibbonPanel

第三层:元素 CMFCRibbonBaseElem

如下图所示元素可以是CMFCRibbonButton,CMFCRibbonGallery,CMFCRibbonGroup类的或者其派生类的对象

下面举个简单的例子:

加入主分类

Code
bNameValid = strTemp.LoadString(IDS_RIBBON_HOME);//IDS_RIBBON_HOME为分类名在String Table中定义

ASSERT(bNameValid);

CMFCRibbonCategory* pCategoryHome = m_wndRibbonBar.AddCategory(strTemp, IDB_WRITESMALL, IDB_WRITELARGE2);

在分类中加入面板

Code
bNameValid = strTemp.LoadString(IDS_RIBBON_CLIPBOARD);

ASSERT(bNameValid);

CMFCRibbonPanel* pPanelClipboard = pCategoryHome->AddPanel(strTemp, m_PanelImages.ExtractIcon(27));

在面板中加入元素

Code
bNameValid = strTemp.LoadString(IDS_RIBBON_PASTE);

ASSERT(bNameValid);

CMFCRibbonButton* pBtnPaste = new CMFCRibbonButton(ID_EDIT_PASTE, strTemp, 0, 0);

pPanelClipboard->Add(pBtnPaste);

bNameValid = strTemp.LoadString(IDS_RIBBON_CUT);

ASSERT(bNameValid);

pPanelClipboard->Add(new CMFCRibbonButton(ID_EDIT_CUT, strTemp, 1));

bNameValid = strTemp.LoadString(IDS_RIBBON_COPY);

ASSERT(bNameValid);

pPanelClipboard->Add(new CMFCRibbonButton(ID_EDIT_COPY, strTemp, 2));

bNameValid = strTemp.LoadString(IDS_RIBBON_UNDO);

ASSERT(bNameValid);

pPanelClipboard->Add(new CMFCRibbonButton(ID_EDIT_UNDO, strTemp,10));

主要添加就这三个步骤啦

其他的细节方面可以参看我的源代码:里面有注释

http://www.codeplex.com/MFCDRAW2008/Release/ProjectReleases.aspx?ReleaseId=18548

转载于:https://www.cnblogs.com/djbone/archive/2008/10/19/1314491.html

VS2008SP1的MFC测试-(OFFICE2007风格)Ribbon风格(DJ尐舞图形画板2008)相关推荐

  1. Ribbon_窗体_实现Ribbon风格的窗体

    Ribbon_窗体_实现Ribbon风格的窗体 随着office2007的兴起,微软让我们看到了Ribbon风格的窗体,现在很多软件也都开始使用Ribbon风格. 那么我们如果要自己开发,应当怎么做呢 ...

  2. VS2015使用WTL库的ribbon风格界面的注意事项

    作者:朱金灿 来源:https://blog.csdn.net/clever101 本文的测试环境是64位Win7,VS2015. 在安装了WTL的应用开发向导后,新建一个ribbon风格的应用程序. ...

  3. Ribbon风格菜单栏

    Ribbon风格 跟传统的菜单式用户界面相比较,Ribbon界面的优势主要体现如下几个方面: 1.所有功能有组织地集中存放,不再需要查找级联菜单.工具栏等等 : 2.更好地在每个应用程序中组织命令: ...

  4. Qt的纽带风格界面实现(最新的Office Ribbon风格)

    Qt的纽带风格界面实现(最新的Office Ribbon风格) 之前有朋友已经做了360风格的自定义界面,非常棒,也帮助了不少开发的朋友.近期我也用Qt做了一些界面框架和风格方面的工作,主要是客户端软 ...

  5. 软件架构风格 仓库风格_功能风格–第9部分

    软件架构风格 仓库风格 实用主义 在本系列中,我们进行了一次旋风之旅,浏览了我认为最重要的与函数式编程相关的主题,以及一些我认为很好的相关知识. 我们从基础开始,定义了我认为是FP的本质,并展示了如何 ...

  6. 软件架构风格 仓库风格_功能风格–第7部分

    软件架构风格 仓库风格 懒惰的评估. 看到一粒花在沙粒中的世界和天堂中的野花 一小时内将无限握在手中,永恒 –威廉·布莱克 几年前,我参加了有关C#的培训课程. 我记得在理解两件事时遇到了麻烦. 其中 ...

  7. 牛人经验0(个人定位 命名风格 编码风格 设计风格)

    需求说明:站在巨人肩膀 内容       :个人定位 命名风格 编码风格 设计风格 来自       :时间的诗 里我谈谈我的一些经验和大家分享,希望能对IC设计的新手有一定的帮助,能使得他们能少走一 ...

  8. VS2012创建ATL工程及使用MFC测试COM组件

    VS2012创建ATL工程及使用MFC测试COM组件 原创  2015年01月22日 16:23:21

  9. php红色风格,PHP理财版PC+WAP安装包(红色风格+蓝色风格)

    PHP理财版PC+WAP安装包(红色风格+蓝色风格) 本程序支持环境: php5.2/5.3/5.4+Mysql 本程序安装教程: 1. 使用EditPlus软件打开根目录下的文件bbs_52jscn ...

  10. QT 黑色风格+白色风格+淡蓝色风格样式表。

    QT 黑色风格+白色风格+淡蓝色风格样式表 下载链接:https://download.csdn.net/download/weixin_43607300/13992478 加载样式表程序: //加载 ...

最新文章

  1. mysql表创建在哪_mysql创建表命令是哪句
  2. HOWTO: InstallShield中如何实现MSI包的权限提升(转)
  3. # 傅立叶变换 画曲线_让你永远忘不了的傅立叶变换解析
  4. ROS下多个kinect在一台电脑上同时运行
  5. 暴风影音“猝死” ,官网、APP全挂了!网友:我的青春说没就没了
  6. JavaScript事件---事件入门
  7. mysql 导出并压缩_mysql压缩备份导入导出
  8. SPOJ REPEATS Repeats (后缀数组 + RMQ:子串的最大循环节)题解
  9. Win10如何使用Win7自带的照片查看器
  10. 一次哔哩哔哩面试经历,吐血整理
  11. VUE自定义日历组件,计算年月日,上个月份的空白展示,点击某一天进入详情页面
  12. Study13(从小白到大佬)
  13. JAVA record
  14. vue2+vue3小白零基础教程—vue2篇,全网2021最详细教程
  15. 使用 dotnet *.dll启动项目,修改产品模式为开发模式
  16. PHP+swoole 聊天窒 五子棋斗地主
  17. python办公自动化实例(一):批量转换word文件为PDF
  18. cosin等于多少_cos45度等于多少
  19. 【ThinkPHP】Fatal error: Uncaught think\exception\ErrorException: include(): Filename cannot be empty.
  20. 如何用python爬取公众号文章_Python+fiddler:爬取微信公众号的文章

热门文章

  1. 什么是面向对象?谈谈你对面向对象的理解
  2. EXCEL的VBA宏密码破解
  3. 我的第一篇随笔-------吹起启程之风
  4. 现在时间是 a 点 b 分,请问 t 分钟后,是几点几分?
  5. linux audit原理,Wauzh原理简析及audit规则风险评估
  6. 智能门锁走向而立之年
  7. 2023计算机毕业设计SSM最新选题之java养生知识平台99ofs
  8. matplotlib.colors(ListedColormap)
  9. HTML5期末大作业:动漫A网站设计——动画漫展学习资料电影模板(6页) 网页设计作业 _ 动漫网页设计作业,网页设计作业 _ 动漫网页设计成品,网页设计作业 _ 动漫网页设计成品模板下载
  10. 解决安装Visio2016 和office 2016不能兼容问题