Soma的博客中文版

Somasegar's WebLog - 原文地址http://blogs.msdn.com/somasegar
随笔 - 122, 评论 - 138, 引用 - 3

导航

关于

Soma是微软全球副总裁,负责微软公司Developer Division的工作。 微软DevDiv上海团队将Soma的网络日志翻译为中文,在这里与大家分享.

每月存档

最新留言

广告

 

[原文地址] Making your application sparkle with Windows 7
[原文发表时间] Friday, October 02, 2009 8:16 PM

Windows 7的发布已经日益临近了。作为开发人员,无论选择托管代码还是非托管开发应用程序,您都可以利用Windows 7上新的API和类库,来使您的应用程序大放异彩。

多点触摸(Multi-Touch

触摸界面允许用户通过更加直观的方式与应用程序进行交互。Windows 7利用Windows Touch,引入了多点触摸输入和操作处理。

MFC支持C++程序员开发触摸界面应用程序。MFC会处理大多数的繁重工作:监听Windows触摸相关的消息,调用一系列的虚函数来处理这些消息。开发人员仅需要注册触摸输入,设置手势动作的配置文件,并根据自己应用程序的需求,重写这些虚函数。

WPF 4为触摸界面增添了一个对象模型(object model),使用托管代码的开发人员可以很容易地给自己的应用程序添加触摸支持。在已有事件的基础上,一些新的支持多指输入的事件也被添加进来。同时会有新的操作和惯性事件供开发人员使用。

Ribbon控件

如果您需要组织应用程序中的命令、任务和菜单,如果您希望将它们友好地展示给用户,请考虑使用Ribbon控件。通过Ribbon控件,您的用户会更容易找到他们需要的命令。无论您的应用程序是用什么完成的:Win32,MFC,还是WPF,新的控件和API都能供帮助您在应用程序中添加Ribbon控件。

对于Win32应用程序,Ribbon架构提供一系列API来创建Ribbon控件。您可以在这里找到Win32中关于Windows Ribbon Framework的更多信息。

Visual Studio 2008 SP1为MFC应用程序添加了Ribbon UI使您获得Office风格的界面。在Visual Studio 2010里则为Windows Ribbon提供了更多风格的支持。新的MFC Ribbon设计器,将Ribbon的设计用XML格式来保存,这样大大简化了UI开发,再不需要用代码来做设计了(design in code)。创建和编辑Ribbon变得非常简单。

clip_image001

新的WPF Ribbon控件将不会随着Visual Studio发布,而是会通过Office UI Licensing网站发布。WPF Ribbon控件的发布时间大约与WPF 4的时间相符。您可以在这里找到下载WPF Ribbon的说明(当前是预览版)。WPF Ribbon将包括所有标准Ribbon控件的功能,如tab、分组、动态缩放、快速访问工具栏、应用菜单、contextual tabs、key tips等等。另外还会提供Windows 7和Office专用的皮肤。Ribbon本身会继续作为独立的,分离的程序集供大家使用。

定位(Location

Windows 7的另一个特性是定位平台。利用这个平台,您可以构建一个根据用户当前位置,而进行相应操作的应用程序。定位平台使得您可以开发更多有趣的应用,特别是对于移动设备用户。比如,一个能感知位置的应用程序可以利用当前的位置信息,来显示用户周边的餐厅或商店;一个发送短信或电子邮件的应用程序可以把发送者的位置信息以附件的形式发送出去。

定位系统将定位设备(如GPS和WWAN)与Windows相集成。应用程序利用它提供的API来确定计算机当前的位置。因为定位API通过COM接口来提供其功能支持,C++程序员和脚本语言程序员可以利用这一套API。Windows 7 SDK包括一系列示例和文档,帮助你创建能进行位置识别的应用程序。MSDN上有更多关于这一套COM定位API的信息。

除了这套API,.NET Framework 4也将会包含一套用于定位的托管代码API,.NET应用程序也可以轻松利用Windows 7的定位能力。

Shell集成

Windows 7的Shell增强功能使得应用程序的开发者能够为终端用户提供更丰富的集成用户体验。跳转列表(Jump List)是一个提供上下文相关的启动事件的列表,用户可以通过它快速访问相关的任务或文件。举例说明,右键点击Outlook图标将显示一个跳转列表,列出您最近打开过的邮件:

clip_image002

新的任务栏没有以前那么拥挤了,而且可以提供更多的预览信息。您可以把任意的程序固定到任务栏上,也可以通过点击和拖拽重新安排任务栏上的图标。Aero缩略图,也就是当你鼠标悬停在任务栏上一个图标时出现的预览窗口,将支持自定义视图和用户命令。如下所示的是一个支持控制媒体播放器回放的命令的Aero缩略图:

clip_image003

针对这些Windows 7 Shell功能,MFC添加了相应的支持。默认情况下,由MFC应用程序通过“打开文件”对话框打开的文件,都会自动添加到您的“最近文件”跳转列表里。MFC提供API来自定义跳转列表里的内容,所以您可以重写这一默认行为。MFC也添加了对高打印分辨率(DPI)和许多Windows对话框新功能的支持。下图展示的打开文件对话框,经过自定义后,添加了一些控件:

clip_image004

MFC当然也支持搜索、预览、缩略图。您可以在资源管理器的搜索框里搜索MFC文档,然后像Office应用程序一样查看图标和预览。

clip_image005

如果您的应用的安装程序需要访问或更新某个文件,而这个文件有可能被锁定或者被另一进程使用,这时候您可以利用重启管理器(Restart Manager)来关闭和重启应用程序,或者利用重启管理器来消除或减少在安装过程中系统需要重启的次数。仅需短短几行代码,您就可以充分利用重启管理器的功能,自动备份当前打开的文档。MFC也在ATL中添加了对事务的文件系统的支持。

这些新的 MFC 功能,都集成在Visual Studio 2010里。若要利用某些功能(例如跳转列表),您只需要重新编译您的应用程序就可以了;而对其他一些功能(如 Windows触摸支持或重启管理器支持),您需要添加几行新的代码以引入新的功能。

WPF 4也允许您在WPF应用程序中利用Windows 7的Shell新功能。WPF 4 集成了 Windows 7 跳转列表的功能,包括任务、项目、最近文件列表和频繁使用的文件列表、以及自定义类别。WPF 4同样集成了Windows 7的任务栏特性,包括进度条、重叠图标、支持命令的预览按钮、描述性文本,和桌面窗口管理器 (DWM)的预览图剪辑。

更多信息

以上只是给大家粗略浏览一下在Windows 7上您可以构建怎样的应用程序。您可以访问Windows团队博客和MSDN 的 Windows 7 开发指南来获取更多信息。。

Namaste!

打印 | 张贴于 2009-10-20 15:12:51 | Tag:暂无标签

留言反馈

暂时没有留言纪录
博客主人设置本博客不允许匿名用户发表言论,请登录后再试

Powered by: Joycode.MVC引擎 0.5.2.0