加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

vc6工程以及与vs2010下的vc2010之间的对话框资源复制使用

(2014-08-29 15:26:58)
标签:

对话框资源

vc6

vc2010

vs2010

分类: 代码天地

 vc6工程之间,以及vc6和vc2010之间的对话框资源复制使用

 

 vc6工程之间的对话框资源复制使用


一 打开新工程文件vc61, 从菜单  文件 -- 打开,找到旧的vc6工程文件夹下的资源文件

,比如 vc60.rc,打开它。这样新工程下,将有两个资源文件,新的vc61在左侧,旧的vc60在右侧文件浏览区域。

二  转到旧的“vc60.rc”页,
 一)复制粘贴对话框
 1 点选右侧旧的资源文件夹 vc60.rc中的Dialog展开它, 点选其中需要的对话框,比如IDD_VC60_DIALOG,并按键(Ctrl+C)复制它。
 2 点选左侧新的资源文件夹 vc61.rc中的Dialog, 按键(Ctrl+V)粘贴对话框IDD_VC60_DIALOG 到此。
 二) 将旧的文件添加到工程中
  从Windows资源管理器中,找到旧的对话框IDD_VC60_DIALOG对应的vc60.h头文件和vc60.cpp实现文件,复制它们到新工程所在的文件夹中
  从菜单 Project -- AddTo Project -- Files...,从弹出的窗口"Insert Files into Project"中,找到选择vc60.h和vc60.cpp文件,按“OK”按钮添加到工程中即可。

3 这样有可能造成类向导不正常,你可以删除项目文件夹下类向导文件 vc61.clw,再类向导时,选择 "Add All" -- "OK" 加入全部文件即可。

三 上步骤二),也可以使用下面两个步骤的方式 实现

 1 给对话框添加类(这步可以不做)
   给工程添加一个对话框,比如也叫IDD_VC60_DIALOG,给其添加类,类名最好和旧的保持一致,这样几乎不用改动代码。
 2 相关内容的添加
    2.1 将旧的vc60.h和vc60.cpp内容复制到新文件的适当处即可使用。
    2.2 用文本方式或者使用记事本打开文件“vc60.rc”,找到IDD_VC60_DIALOG相关部分,全部复制替换“vc61.rc”中对应部分。
四 编译测试

 

===================================

 

 将vc6的对话框资源复制到vc2010中


一 在vs2010下创建vc++项目,假设名称为“vc2010”,在“解决方案资源管理器”选项页下, 右击“资源文件”夹--添加--添加现有项,找到旧的vc工程文件夹下的资源文件 vc6.rc,打开它。

二  转到“资源视图”选项页下,

 一)粘贴对话框
 (1) 点击选择文件夹 vc6.rc--Dialog, 选择并复制对话框IDD_VC6_DIALOG
 (2) 点击选择文件夹 vs2010.rc--Dialog, 粘贴对话框IDD_VC6_DIALOG 到此

 二) 将旧的文件添加到工程中

 1  从Windows资源管理器中,找到旧的对话框IDD_VC60_DIALOG对应的vc60.h头文件和vc60.cpp实现文件,复制它们到新工程vc2010所在的文件夹中的子文件夹vc2010下。
 2  转到“解决方案资源管理器”--“解决方案"vc2010"”,右击文件夹 “ vc2010”--添加--添加现有项,找到本工程下刚复制来的vc60.h和vc60.cpp,,按“添加”按钮添加到工程中。

 3 这样有可能造成类向导不正常,你可以删除项目文件夹下类向导文件 vc2010.sdf,再类向导时自动加入全部文件即可。

三 上步骤二),也可以使用下面两个步骤的方式 实现

 1 新建对话框并添加类
   给工程添加一个对话框,比如也叫IDD_VC60_DIALOG,给其添加类,基类选择CDialog,类名最好和旧的保持一致,这样几乎不用改动代码。
 2 相关内容的添加
   2.1 将旧的vc60.h和vc60.cpp内容复制到新文件的适当处即可使用。
   2.2 用文本方式或者使用记事本打开文件“vc6.rc”,找到IDD_VC60_DIALOG相关部分,全部复制替换“vc2010.rc”中对应部分。

四 再次转到“解决方案资源管理器”选项页下, 将“资源文件”夹下旧的vc工程文件夹下的资源文件 vc6.rc,选择删除。

五 编译测试 
   尤其要注意上面所说的文件夹的确切名称和位置,否则有可能出现错误。

=============

可能出现的问题:

1 修改原来#include的app引用文件,改成现在的即可。
2 关于对话框 CAboutDlg ,可能重复,注释或者删除类的声明和使用的相关地方即可。
3 字符串函数等可能出现错误,如果不想改变内容,可以改变工程的字符集即可,步骤为:

  项目 --- VC2010属性 ---配置属性--常规
  点击 “字符集”右侧的选择框,从“使用Unicode字符集”改为“使用多字节字符集”
 更多的问题可以参看《vc6的多字节字符集与vc2010的Unicode字符集

4 如果上来出现   Debug Assertion Failed!类似的错误,可能是控件的ID号重复或者没有造成的错误,你可以在下面的数据交换内,按F9键设置断点,按F5键追踪决定是哪个控件出现问题,并针对增加或修改其ID号。

void CVc6Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CWaveGenDlg)
DDX_Control(pDX, IDC_LIST_REPORT, m_listReport);


5 祝你成功!





 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有