微软在周一释出了"Microsoft Visual C++ 2008 Feature Pack”,这个功能增强包主要在应用程序的“Look and Feel”和C++的TR1两个方面做了增强。可惜的是,这个增强包目前只有英文版,其他语言版本要等到VS2008的SP1了。
在界面方面,集成了BCGSoft的界面控件,现在可以利用VC2008,轻松创建VS2005,Office 2007风格的应用程序界面了。同时,增加了部分控件。
The MFC Feature Pack library supports new features in the following areas:
Menus
Toolbars
Panes
Ribbon Control
Outlook Alert
Controls
Dialog Boxes
Customization
Visualization
Special Features
在C++方面,实现了TR1,有可能在下一个C++标准C++0x中得到体现。主要增加了部分容器和正则表达式。
<array>
<functional> (TR1)
<memory> (TR1)
<random>
<regex>
<tuple>
<type_traits>
<unordered_map>
<unordered_set>
<utility> (TR1)
后面我将以一系列文章,逐个解析这些新特性,看看这个增强包都给我们这些VC程序员带来了什么好东西。
先睹为快,先来看看很摩登的“Look and Feel”:
在应用程序向导中选择界面风格:
很简单的,我们得到了一个Office 2007风格的MFC程序:
简要地介绍了VC 2008 Feature Pack给我们带来的新特性,MFC的,TR1的等等,相信大家看来都跃跃欲试。但是,面对这么多陌生的框架,类,大家是不是又有点感觉无从下手,找不到地方开始呢?
现在大家不用再为这个问题而苦恼了,微软为我们准备了很多Feature Pack的精彩实例,一共有34个例子,几乎覆盖了Feature Pack中的所有新特性。通过研究这些例子,我们可以很快地掌握这些新类的用法。这里,先跟大家推荐一个主要的例子:
MSOffice2007Demo
这个实例几乎是一个完整的Word 2007。它主要演示了Office 2007中全新的界面风格——Ribbon。虽然Ribbon风格的界面还没有得到大多数人的认同,但是,只要是微软推出的东西,无疑会成为一种导向,一种趋势,会有越来越多的用户界面会向这个方向靠拢。所以,如果想给你的软件披上时尚的外衣,好好研究这个例子准没错。
VisualStudioDemo
跟上面的例子类似,这个VisualStudioDemo主要演示了可自定义的toolbars and menus, auto-hide docking bars, MDI tabbed groups , property list control, toolbox control, toolbar combo box and edit, controls, switching between visual themes at runtime等等,几乎所有Visual Studio的界面特性都在这个实例中得到了体现。
OutlookDemo
同样的,还是集中演示Outlook类似的界面风格,如果你的软件适合这样的操作模式,研究这个实例吧。
NewControls
大家已经知道,Feature Pack给我们带来了很多新的控件,包括Vista系统引入的诸多控件。这个实例就集中为我们演示了这些控件的具体用法,主要包括customizable buttons, color picker controls and palettes, a font chooser, an image editor, a property grid, a masked edit control, and shell list and tree controls。想让你的软件界面元素变得丰富,可以研究这个实例。
DrawClient
使用过Office 2007的用户都会对它的命令预览功能印象深刻:在挑选不同命令的时候,可以实时对命令的结果进行预览,这样用户就无需在相似的命令之间切换以找到自己想要的结果。DrawClient实例演示了如何实现这种命令预览功能。
如何获得这些实例?
听我废话了这么多,相信大家对这些实例有点兴趣了,那么如何得到这些例子的代码呢?
BODY {font-family: Arial;font-size: 10pt;}
• 可以从Visual Studio的帮助菜单中找到实例(Sample)
也可以从MSDN上直接下载:http://msdn.microsoft.com/en-us/library/1370z17c.aspx
• 另外,如果你安装了Feature Pack,默认情况下,可以在如下的位置找到:ALLVCLanguageSamples\C++\MFC这些实例