VC++ MFC工程中中如何将一个工程的资源(如对话框)复制到另外一个工程

      问题的提出:在工程1中用到的资源,在工程2中已有现成的。即工程1中要用到的对话框和工程2的完全相同,而工程2中对该对话框的布局已设计好、控件变量都绑定好了。但由于该对话框的控件特别多,如果在工程1中再设计一遍,是重复工程2的对话框工作,且工作量很大,如何将工程2设计好的资源如对话框、菜单复制到工程1中来?
      步骤:
 1:找到工程2的rc文件,即资源文件,以记事本方式打开该文件,找到Dialog部分,将所要的对话框代码片段复制起来。
 2: 找到工程1的rc文件,即资源文件,以记事本方式打开该文件,找到Dialog部分,,将上述复制的代码粘贴到此处。
 3:保存工程1的rc文件,如果提示ID有冲突,说明工程2中复制过来的控件ID值在工程1中被占用了或不存在该ID,打开Resource.h文件,找到冲突的ID,换一个整数值,或添加一个ID,保存该文件。

 4:切换到解决方案管理器,打开resource.h文件,将发现新加入的对话框资源ID以及控件ID已经自动添加进来,但是ID号可能会有重复,需要手动重新设置新加入的控件ID号,设置完成注意修改resource.h文件底部#ifdef APSTUDIO_INVOKED 下面的几个数字,以便增加新控件时VS能够自动正确生成新ID号。或者干脆直接将工程2中的resource.h文件复制过来替换工程1的同名文件。

 5:将工程2中的对话框类文件“对话框类名.h”和“对话框类名.cpp”复制到工程1中,并添加至解决方案管理器中

 

  注意:在进行步骤2之前,请先将工程1中的rc文件做个备份,以防止出错,改不回来了。

  至此,工程2中的对话框就复制到工程1中来了,省去了在工程1中设计对话框,绑定控件的繁重工作。菜单、字符串资源也可进行此复制。

参考文献:

vc中如何将一个工程的资源复制到另外一个工程?  

MFC不同工程(解决方案)之间对话框资源的复制与重用方法

MFC中对话框资源的复制

1. 打开VC 6.0,选择File -> New -> MFC AppWizard(exe)。 2. 在AppWizard中,选择“Single Document”或“Multiple Documents”,点击Next。 3. 在下一步中,选择“Dialog Based”或“Form View”,点击Next。 4. 在下一步中,输入项目名称和保存路径,点击Next。 5. 在下一步中,选择“Create a new class”,并输入类名和基类,例如“CNewWindowDlg”和“CDialog”,点击Finish。 6. 在ClassView中,找到新创建的类,右键点击它,选择“Add” -> “Add Member Variable”。 7. 在对话框中,输入变量名称和控件类型,例如“m_edit”和“CEdit”,点击“OK”。 8. 在ClassView中,找到新创建的类,右键点击它,选择“Add” -> “Add Member Function”。 9. 在对话框中,输入函数名称和返回类型,例如“OnInitDialog”和“BOOL”,点击“OK”。 10. 在新创建的函数中,添加代码来初始化控件和设置窗口属性。 11. 在资源编辑器中,添加一个新的对话框,例如“IDD_NEW_WINDOW”。 12. 在ClassView中,找到新创建的类,右键点击它,选择“Add” -> “Add Function”。 13. 在对话框中,输入函数名称和返回类型,例如“OnNewWindow”和“void”,点击“OK”。 14. 在新创建的函数中,添加代码来创建并显示新的窗口。 15. 在消息映射中,添加一个新的消息处理函数,例如“ON_COMMAND(ID_NEW_WINDOW, OnNewWindow)”。 16. 编译和运行程序,点击菜单或按钮来显示新创建的窗口。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值