一直都想已久一下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

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

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

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

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

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

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

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

  4. Ribbon风格菜单栏

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

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

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

  6. 图形测试分析毫无头绪?HarmonyOS图形栈测试技术帮你解决

    作者:huangran,图形图像技术专家 应用开发以后无法知道性能瓶颈的根因是什么?滑动卡顿.白块产生的原因是什么?代码写完之后,不知道如何优化让它表现地更好-- 我们发现,如今测试人员的需求已经不只 ...

  7. MFC Ribbon风格界面去掉左上的Quick Access Toolbar小三角

    就是去掉这玩意 方法: 在MainFrm.cpp下的onCreate函数下找到: m_wndRibbonBar.LoadFromResource(IDR_RIBBON); 然后在下面添加: CMFCR ...

  8. VS2010开发ribbon风格的程序

    转自:http://blog.csdn.net/akof1314/article/details/5268071 创建MFC应用程序项目   实际上,Ribbon界面(Office 2007风格的界面 ...

  9. 【MFC】Ribbon界面开发(一)

    01.目录 目录 01.目录 02.Ribbon介绍 03.创建第一个Ribbon界面 04.本文小结 02.Ribbon介绍 Ribbon界面就是微软从Office2007开始引入的一种为了使应用程 ...

  10. 关于MFC中Ribbon界面如何修改标题属性问题

    最近在工作中,遇到了需要将软件从中文转成英文的问题.通常来说,MFC界面上的控件均可以用SetWindowText来解决.但对于Ribbon,往往不怎么好使.也是从网上找了很多资料,最终总结如下. 先 ...

最新文章

  1. python的文件流,初步网页爬虫,序列化和反序列化
  2. 基于SpringJDBC 实现关键功能-EntityOperation
  3. MySQL分库分表分库准备(6th)
  4. Java Web学习笔记10:Servlet基础
  5. 初探队与广度优先搜索
  6. Python selenium 延时的几种方法
  7. 20180316交换排序-快速排序
  8. 用imspost制作catia后处理_为什么我推荐你用3D打印技术制造模具?
  9. 生成可编辑的pdf(可java代码动态赋值)
  10. 信息安全体系建设(一)
  11. sql列转行逗号连接_SQL 拼接字符串 列转行 | 学步园
  12. JS点击按钮复制文本
  13. 循环冗余校验CRC及对应例题
  14. 问题解决:Unable to establish SSL connection.
  15. 用手机来支付什么-在什么场合用手机支付
  16. php中跟时间有关的处理(时区设置,计算时间差,获取系统当前时间)
  17. 【web自动化测试Robotframework开发手册—浏览器切换url和打开新页签】
  18. QT5简易音乐播放器的设计
  19. iOS开发中拉伸图片的几种方式
  20. Franka Emika 机械臂在ROS下控制

热门文章

  1. 聚合数据iOS SDK 12306火车票查询订票演示示例
  2. 计算机专业助我成长作文600,挫折助我成长作文(精选6篇)
  3. apache-ant-1.7 下载
  4. 官方版win10重装系统(官方win10 镜像)
  5. 国际植物基博览会2022年6月首次亮相上海;海瑞温斯顿珠宝王国在北京开设新零售沙龙 | 知消...
  6. STM32F446RET6产品描述
  7. fNIRS | 非平稳波形的预处理方法
  8. 语音识别框架之kaldi
  9. 水果店的售价应该怎么来定,水果店怎样确定价格
  10. Java8 新特性之 Stream 练习题