`

基于VisualC++2010开发windows7的tabelt pc应用的WindowsRibbon范例

 
阅读更多

Visual Studio 2010的新特性里面Ribbon界面是一个很重要的东西,Ribbon界面非常易用和高效,也不去强调和证明它将成为未来应用程序界面的一种趋势。为了让我们的应用程序“Ready for Windows 7”,我们有必要根据实际的情况需要,为我们的应用程序添加Ribbon界面。

 为了推广Ribbon界面,为了讨好程序员们,让程序员可以轻松地为各种应用程序创建Ribbon界面,微软真是不遗余力,不断地推出新的Ribbon界面接口。为了可以让所有基于C++的普通Windows应用程序都可以添加Ribbon界面,微软在Windows 7 SDK中,又推出了基于COM的接口——Scenic Ribbon API。

  利用Scenic Ribbon API,我们可以更加灵活方便地为各种Windows应用程序添加Ribbon界面,改善应用程序的用户体验。在接下来的文章中,我们就介绍一下如何利用这种新的方式为普通Windows应用程序添加Ribbon界面。

  我们都知道,Ribbon界面是随着Office 2007一同发布的。在过去的几年中,微软不断地吸取用户对Ribbon界面的反馈,不断地对其进行改进,到了Windows 7,微软正式加入了命名为Scenic Ribbon的第二代Ribbon界面,即取代第一代Ribbon的升级版本。随着Scenic Ribbon成为Windows 7的一部分以及微软所提供的Scenic Ribbon API,这意味着今后第三方程序开发者能在自己开发的应用程序中免费用上这种界面形式。Scenic Ribbon作为第二代Ribbon界面,所适用的是所有的Windows应用程序,和前代有所不同是理所当然的。例如,由于最初Ribbon界面是Office专用,因此使用Ribbon界面的Office 2007程序窗口左上角都有一个比较显眼的Office图标按钮。当应用到其他程序之后,这个图标显然不能继续存在,因此在Scenic Ribbon中,这个位置就被相应应用程序自身的图标所取代。另外,为了满足各种应用程序的需要,Scenic Ribbon还添加了部分Ribbon控件,使得Ribbon界面的控件更加丰富,能够应对各种应用程序对Ribbon界面控件的需要。值得一提的是,Office作为Ribbon界面的开山鼻祖,到了Office的下一个版本Office 2010,也全面使用了Scenic Ribbon以替代第一代Ribbon界面。

同时微软在VisualC++2010也提供了Ribbon资源设计器,使Ribbon开发更加简单快捷。

 Scenic Ribbon API是一套基于COM的非托管API。通过这套API,我们可以为所有基于Windows的非托管应用程序创建Ribbon界面面板,添加Ribbon控件,处理Ribbon控件的各种动作,执行某种业务逻辑等等。而至于Ribbon界面的布局,各个控件的位置和属性等,则是通过基于XAML的xml文件来进行定义和描述的。编译器会将这个XML文件编译成相应的资源文件,头文件和二进制的BML文件。而Scenic Ribbon API最终会读取这些描述控件信息的文件并创建Ribbon界面。在业务逻辑层,Scenic Ribbon API提供了相应的Execute函数来处理所有控件的消息,在其中我们可以完成相应的业务逻辑。

在Windows 7中,微软还为我们提供了用于为非托管代码(Native)应用程序创建Ribbon界面的Scenic Ribbon API的解决方案。另外,针对基于WPF的托管代码应用程序,微软还将提供另外的基于WPF的Ribbon界面解决方案。

Firefox 3.7已经采用Windows7的Ribbon界面。

下面我们亲自来动手构建一个基于VisualC++2010开发windows7的tabelt pc应用的WindowsRibbon范例

1.帅气的VS2010启动画面,启动VS2010

2.创建inkdoc的MFC工程

3.MFC向导1

4.MFC向导2,选择中文界面,多文档程序,以及windows7风格

5.MFC向导3,跳过

6.MFC向导4,创建文档格式,文件名

7.MFC向导5。跳过

8.MFC向导6,选择Ribbon

9.MFC向导7,设置高级选项

10.MFC设置8,设置CFORMVIEW,

11.打印提示,不理睬,直接跳过

12.VisualC++2010自带的Ribbon编辑器

13.操作与工具箱控件一样操作,设置按钮属性

14.设置按钮

15.设置按钮属性,

16.为按钮添加事件

17.类似菜单的操作

18.在Formview,选择对话框,插入flash控件,然后为flash添加MFC activeX 类向导

19.插入flash控件类

帅的惊动了CSDN的windows7的tabelt pc应用的WindowsRibbon范例的效果图

tablet PC的轨迹核心代码如下

Ribbon多文档程序代码如下

如果需要工程源码,请本人CSDN博客留言留下email!

本文作者专著《Visual C++2010开发权威指南》即将推出,敬请关注,Visual C++2010最近技术,Windows7开发最新技术!

分享到:
评论

相关推荐

    Viewpager 与Fragment的联动的多种翻页模式

    VIewPager 翻页的多种形式包括Toggle Fade、standard、Tabelt、Cubeln、CubeOut等等实际中

    quartus ii安装教程.docx

    quartus ii安装教程

    tensorflow_probability-0.3.0-py2.py3-none-any.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    tensorflow_privacy-0.5.1-py3-none-any.whl

    算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    tensorflow_recommenders-0.7.3-py3-none-any.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    asp代码ASP基于WEB实验室设备管理系统设计(源代码+论文)

    asp代码ASP基于WEB实验室设备管理系统设计(源代码+论文)本资源系百度网盘分享地址

    JAVA毕业设计之springboot057洗衣店订单管理系统(springboot+mysql)完整源码.zip

    这个资源是一个基于Spring Boot和MySQL的洗衣店订单管理系统的完整源码。它包括了所有的源代码文件,以及一个详细的文档,可以帮助你理解和运行这个系统。这个系统的主要功能包括:用户注册和登录,下单,查看订单,修改订单,删除订单等。用户可以在系统中选择洗衣服务,然后提交订单。系统会自动计算订单的总价,并将其显示在用户的订单列表中。用户还可以查看自己的历史订单,以及每个订单的详细信息。此外,系统还包括了一个管理员模块。管理员可以查看所有的订单,以及对订单进行管理。他们可以修改订单的状态,例如将订单标记为已完成,或者取消订单。这个系统使用了Spring Boot框架,这是一个非常流行的Java开发框架,它可以帮助你快速地开发和部署应用程序。同时,系统也使用了MySQL数据库,这是一个广泛使用的关系型数据库,它可以存储大量的数据,并提供高效的查询功能。总的来说,这个资源是一个非常完整的洗衣店订单管理系统的源码,它可以帮助你理解如何使用Spring Boot和MySQL来开发一个实际的应用程序。无论你是正在学习Java编程,还是已经有一定的开发经验,都可以从这个资源中学到很多有用的知识和技能。

    网络药理学、代谢组学的应用

    网络药理学、代谢组学的应用和课题设计方案”基于PI3K-AKT-mTOR通路研究 淫羊藿苷影响成骨细胞糖酵解促进骨形成的机制“

    毕业论文知识图谱构建平台的python后端。模型相关在这个模块完成,深度学习基于pytorch.zip

    人工智能毕业设计&课程设计

    tensorflow_transform-0.1.4-py2-none-any.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    ftqqzx.zip

    ftqqzx.zip

    高级网络人才培训专家-X00070004 第31章 配置帧中继

    高级网络人才培训专家_X00070004 第31章 配置帧中继

    tensorflow_transform-0.1.8-py2-none-any.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

    基于ssm+vue酒店预约及管理系统.zip

    基于ssm+vue酒店预约及管理系统.zip

    基于ssm+vue的宠物店系统.zip

    基于ssm+vue的宠物店系统.zip

    基于ssm省出口基地公共信息服务平台.zip

    基于ssm省出口基地公共信息服务平台.zip

    分子模拟技术在传统药物设计领域应用20160121.pdf

    分子模拟技术在传统药物设计领域应用20160121

    LS-201510-DS应用案例.pdf

    LS-201510-DS应用案例

    KEPServerEX V6.15 2024最新版

    最新版 [EX 6.15] KEPServerEX-6.15.132.0。 产品下载一次将运行 2 小时,可以通过停止和启动运行时服务随时重复演示期。

    基于Spring Cloud的Spark开发平台设计源码

    这是一个基于Spring Cloud Hoxton、Spring Boot 2.3、OAuth2、Security、Nacos、flowable、vue-element的Spark开发平台设计,使用Java语言开发,包含1018个文件。主要文件类型包括268个Java源文件、206个JavaScript文件、165个PNG图片文件、147个HTML文件、48个XML文件、26个CSS文件、24个gitignore文件、18个YAML文件和14个JSON文件。该项目是一个前后端分离的脚手架平台,提供了丰富的功能模块,包括系统管理(组织机构、角色用户等),旨在为开发者提供一个高效、便捷的开发环境。

Global site tag (gtag.js) - Google Analytics