作者:朱金灿
来源:http://blog.csdn.net/clever101/
打算将最近学到的VS 2008 Feature Pack界面开发的一些心得写出来。VS 2010都出来了,我还刚用VS 2008,追赶微软技术,用一个字形容:累,用两个字形容:真累。还好之前用过一下BCG,发现二者真的很类似(开始以为是微软收购了BCGSoft,真实说法是微软向BCGSoft 投资)。
闲话少说,步入正题。首先我们新建一个可视化风格为VS 2005的MFC标准程序,设置如下:
编译运行的界面如下,除了看到Offfice2003风格的菜单,相信你还能看到一个非常特别的功能:应用程序外观切换。呵呵,这也算是一种简单的换肤吧。
可能大家对BCG类都比较熟,其实VS 2008 Feature Pack中有很多的类对应BCG中的类。下面我列举一下常用的对应类:
BCG类型 | VS 2008 Feature Pack的类 | 备注 |
CBCGPToolBar | CMFCToolBar | 工具栏类 |
CBCGPMenuBar | CMFCMenuBar | 菜单栏类 |
CBCGPToolBarImages | CMFCToolBarImages | 工具栏按钮图片管理类 |
CBCGPPopupMenu | CMFCPopupMenu | 右键弹出菜单类 |
CBCGPToolbarButton | CMFCToolBarButton | 工具栏按钮类 |
CBCGPDockingControlBar | CDockablePane | 停靠栏类 |
很多时候修改代码后重新编译运行发现界面还是原来的,没有变过来,这是因为VS 2008 Feature Pack采用了和BCG一样的做法,把界面配置信息保存在注册表。这时只需将注册表的相关项删除再重新编译运行,就能看到修改后的界面。注册表项的位置一般在HKEY_CURRENT_USER/Software/应用程序向导生成的本地应用程序/"你的工程名"。我习惯写一个批处理文件,里面的命令如下:
reg delete HKEY_CURRENT_USER/Software/应用程序向导生成的本地应用程序/"你的工程名" /f
当需要更新界面时就运行这个批处理文件。
参考文献:
1. Quick Tour Of New MFC Functionality