一、VC 6.0 中的 MFC ClassWizard 从 Visual Studio 2005 开始已被分拆成两个功能:
1. 对控件和菜单建立事件映射的功能菜单视图 (View)->Solution Explorer 或 Ctrl+W,S 中 Resource Files 树下,在资源视图(通过双击资源文件 *.rc 可进入该视图)选中某一个菜单或者控件,右键其中的某项,在弹出的菜单中选择“添加事件处理程序” (Add Event Handler...) ,接下来就能找到 VS 6 中类似 Message Maps 的选项;
2. 添加窗体的消息映射菜单视图 (View)-> 类视图 (Class View) 或 Ctrl+W,C 进入类视图单击类,右键此类选中“属性” (Properties) ,进入属性界面,其上有事件 (Events) 、消息 (Messages) 、重写 (Overrides) 等。对比 VS 6 没有了 Automation( 以前称作 OLE 自动化, COM IDispatch 接口 ) 选项。从 Visual Studio 2005 开始有了 MFC Class Wizard ,不过是在类视图中选中项目,右键 Add->Class ,选中 MFC->MFC Class ,点击 Add 后才出现的。
二、自 Visual Studio 2005 环境起,字符串如 "Microsoft" 无法自动转换为 LPCTSTR 类型,解决方法见微软 http://social.msdn.microsoft.com/forums/en-US/vclanguage/thread/c1b08c0a-a803-41c3-ac8c-84eba3be1ddb/
三、*View.h 消息映射中
//{{AFX_MSG(*)
...
//}}AFX_MSG
这两个 AFX_MSG 注释宏不再存在,其中 * 代表建立的项目名。
同样在 *View.cpp 消息映射中注释宏 AFX_MSG_MAP 也不再存在了。
四、连接 *.lib :在 VC6.0 中是在 Project->Setting 中设置,而自 Visual Studio 2005 起,菜单 Project->Properties ,
1. 设置 lib 路径(只存在 VS2005 中) :Configuration Properties->Linker->General->Addition Library Directories ,
2. 添加 lib: Configuration Properties->Linker->Input->Addition Dependences 。
五、Visual C++ Components 目录自VC 7.0 就已被移除
原先在 VC++ 6.0 中的操作为:菜单 Project->Add To Project->Components and Controls->Visual C++ Components->Popup Menu 。
.Net 环境项目可以通过工具 (Tools) -> 选择工具箱项 (Choose Toolbox Items) 进行 ;
MFC 中添加 Popup Menu 可以通过向 View 类中添加消息 WM_CONTEXTMENU 进行。 Splash Screen 组件也因此不存在 ,但可以参照 Microsoft Visual Studio 9.0/Samples/1033/AllVCLanghageSamples.zip 中拷贝出 splash.cpp 和 splash.h 这两个文件 , 加入到现有项目中或者对话框增强版 。
六、 自Visual Studio 2003 起,控件通知消息 WM_INITDIALOG 移到了重写 (Overrides) 里面,重写里的方法 OnInitDialog() 对应 WM_INITDIALOG 消息。
七、 自VS2005 起对消息的检查更为严格, VC6 中没问题的 ON_MESSAGE(message,OnMyMessage); 返回值必须规范为 LRESULT afx_msg LRESULT OnMyMessage(WPARAM, LPARAM) ;返回值可以为 TRUE 或者 FALSE 。
八、 从 Components 里添加 ActiveX (基于 COM )不再可行,自 VS2005 以来 Add Class->MFC Class From ActiveX Control ,点 Add ,窗口 Add Class From ActiveX Control Wizard 显现。
九、 ActiveX Control Test Container 即 tstcon32.exe ,默认保存在 %programfiles%/Microsoft Visual Studio 9.0/Common7/Tools/ 目录中,但从 VS2008 起已被移除, VS2005 是最后一个包含它的版本,如想获取它可以自行编译 TSTCON sample 或者单独获取其早期版本。