vc6.0和vs2005差别大吗?主要差在哪里?

 我来答
buaaxiao
2011-04-13 · TA获得超过116个赞
知道答主
回答量:49
采纳率:0%
帮助的人:56.8万
展开全部
基本功能都还在,只看你能不能找到,使用过程中慢慢摸索,查资料就ok了,下面列几条经常遇到的区别
一、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 类型,解决方法见微软 FAQ: Cannot convert from 'const char [..]' to '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 ,设置 lib 路径(只存在 VS2005 中) :Configuration Properties->General->Addition Library Directories ,添加 lib:Configuration Properties->Linker->Input->Addition Dependences 。
五、Visual C++ Components 目录 自 VC 7.0(即VS2005) 就已被移除,原先在 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 或者单独获取其早期版本。
鬼谷子1949
2011-04-13 · TA获得超过188个赞
知道答主
回答量:241
采纳率:0%
帮助的人:148万
展开全部
本身的语法没有差别,基本上还是原来的 c/c++语法。
采用了神马解决方案管理器,是为了团队开发弄得一些新功能,

在编写win32 控制台程序时看不出差别,
但是在编写MFC应用程序的时候,差别就出来了,2005的找不到6.0的类向导,它使用了新的分类方法,大量的使用了标签页,工具栏。。。
我感觉主要在这里,它主导了一种新的开发思维。我还没有深刻体会
不知道我回答的怎么样?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
霍光辉雷月
2019-02-11 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:30%
帮助的人:836万
展开全部
vs2005包含vc2005,vc++,vb,vj#,同时还包含msdn2005,全部安装大概需要占用4g的空间
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式