前段时间随便写了两篇关于
MFC
的文章,讲的都是老东西,看来也没什么人喜欢看,所以我决定以后不写老东西了。可是
MFC
有什么新东西吗?想来想去只有再说说
VC2008 Feature Pack
了。赞美的话我就不说了,网上有很多文章可以
google
得到。
VC team
的人都说这个
feature pack
是
MFC
自
vc6
以来的
major update
,可见它的分量之重。
MSDN
上说,这是
MS
重新重视
native code
的一个标志,只不过之前荒废的时间太长了。这个
pack
的更新在两个方面,一是更加现代的
UI
,
MFC9.0
库增加了很多新的
UI
类。另一个是
TR1
的实现,这个和
MFC
没有关系。下面我就重点说说这些增加的
UI
类。
先看看
MFC
的类图吧,
http://msdn.microsoft.com/en-us/library/bb982033.aspx
。最初看到那些画星星的类之后,我的心里就有了不详的预感。这些类数量很多,而且大部分都以
CMFC
开头,这样起名字在之前的
MFC
类库里是看不到的,难道这些代码不是天生为
MFC
写的?另一点就是很多类从名字上看就非常之细节化,如“
CMFCVisualManagerOffice2007
”这不太符合
MFC
一直以来的风格。还有一点就是很多
UI
类(如
Button
)竟然是从
CObject
派生的。熟悉
MFC
的
TX
都知道这意味着什么。综合这几点,我就感到这
MFC9.0
已经不是一直以来人们熟悉的
MFC
了。看似密密麻麻一大堆类,实际上已不是那么严谨,精悍了,这不是
MFC
一直以来的风格,倒像是一个共享软件者在甩货。
后来查了资料,这些所谓的
Modern UI
全部是来自
BCG Soft
,原来如此。熟悉
MFC
的
TX
可能有很多都有过购买
VC
界面库的经历,在这个“行业”,
BCG
和
codejock
这些公司也算是响铛铛的名字。但整件事情最搞笑的就是,
MS
推出了
Office2007, VS2005, Outlook, Money
这些软件,他们新潮的界面成为了其它软件模仿的对象,而
BCG
是在这些软件推出后,模仿这些软件的界面而做成的第三方开发类库,现在这些类库居然被
MS
买来用于
MFC
,供其它公司和个人进行软件开发???
在
VC team
的
Blog
中,很多人质疑
BCG
的代码质量,也有很多人质疑为什么
VC team
不用那些
MS
内部用在
Office
等软件上的代码。得到的答复是,使用那些
MS
内部的代码需要
2
年时间(保护?人少?)。看来
MFC
这几年确实是个没人要的孩子。喜欢看代码的
TX
,可以看看
MFC
那些新增的代码,相信你会感到。。。。。。
Anyway, MFC
的使用人员现在可以免费得到一些现代的
UI
解决方案,这也未尝不是一件好事。那些一直在使用
BCG
和
codejock
产品的
TX
,如果不考虑
TR1
的话,就可以不用管这个
feature pack
了。想用的
TX
,记得打上
SP1
。
记得看过
PDC2008
的一些视频,在
VS2010
发布测试版的时候,
VC team
的
Boris Jabes
做了一个演讲,名字叫“
Microsoft Visual C++: 10 Is the New 6
”。看来
MS
也认识到
VC6
是一个一直没有被逾越的产品。VC2010正式的版本会是什么样子,偶们拭目以待。
Damien Watkins
介绍了
MFC10
在
VS2010
中实现的一些新功能。还介绍了
MFC
为
Window7
开发所做的准备。这说明
MFC
在
MS
最新的
Windows7
中开发
native code
软件已经不成问题。那些害怕
MFC
没钱途的
TX
,这下可以放心了。