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不同工程(解决方案)之间对话框资源的复制与重用方法
VC++ MFC工程中中如何将一个工程的资源(如对话框)复制到另外一个工程的更多相关文章
- Java将一个目录下的所有数据复制到另一个目录下
/* 将"C:\\JavaProducts\\Source"下的所有数据复制到"C:\\Target"下 */ import java.io.*; public ...
- Python工程文件中的名词解释---Module与Package的区别
当我们在已有的Python工程文件中创建新的内容是,通常会有两种类型文件供你选择---Module和Package,对于初学者来说会搞不清楚这两种文件直接的关系.这里就来解释一下这两者之间的关系. M ...
- [转]IDEA 导出自己的jar包 并且在另一个工程中引用
1.导出jar包 1.1 idea导出jar包不如eclipse方便,但是熟练了也很容易操作 1.2 File -> Project Settings -> Artifacts(艺术品) ...
- [转载]android工程中引入另一个工程中的资源
原文地址:android工程中引入另一个工程中的资源作者:87fayuan 在项目中可能遇到这样的问题:项目过大,于是细分为N个子模块来做,每个模块都是不同的工程.涉及到activity传数据时,可以 ...
- MVC ViewBag不能使用在工程文件中添加引用
在工程文件中 <ItemGroup> // ... </ItemGroup> 添加引用 <Reference Include="Microsoft.CSharp ...
- VC/MFC中计算程序运行时间
转自原文VC/MFC中计算程序运行时间 说明,这四种方法也分别代表了类似的实现,在MFC中,所可以从哪些类集合去考虑. 方法一 利用GetTickCount函数(ms) CString str; lo ...
- 在myeclipse中拷贝一个工程,修改部署的名字
在MyEclipse中,经常练习的时候需要建立多个工程,但是为了方便,通常的作法是:复制一个工程,然后直接粘贴,但是,部署以后会发现,使用新的工程名访问不了,报404错误. 其原因是没有修改W ...
- Myeclipse项目工程目录中各种Libraries的含义
MyEclipse工程目录下一般会有以下几类Libraries,如图: 各种Libraries的含义如下: JRE System Library:Java SE 的常用库文件集合,构建任何Java项目 ...
- Android studio相关设置及实现存在于工程目录中的视频播放
一:相关设置 1:主题设置 File-->Settings-->Appearance &Behavior-->Appearance-->THeme 2:Java源码的颜 ...
随机推荐
- JAVA_SE_Day02 String 的正则表达式
字符串支持正则表达式的方法一: boolean matches(String regex) 注意: 给定的正则表达式就算不指定边界符(^,$),也会全匹配验证 空字符串和null 空字符串是看不见,而 ...
- Hibernate 注解 (Annotations 三)多对一双向注解
注解(Annotation),也叫元数据.一种代码级别的说明.它是JDK1.5及以后版本引入的一个特性,与类.接口.枚举是在同一个层次.它可以声明在包.类.字段.方法.局部变量.方法参数等的前面,用来 ...
- javaScript删除对象、数组中的null、undefined、空对象、空数组方法
这两天在项目中遇到后台需要传的数据为不能有null,不能有空值,而这个数据又是一个庞大的对象,对组集合,所以写了个方法来解决这个问题.为了兼具所有的种类类型,封装了方法,代码如下: let obj = ...
- typeof的探讨
console.log(typeof 'abc') // "string" console.log(typeof true )// "boolean" cons ...
- 如何对MySQL数据库中的数据进行实时同步
- TextView的跑马灯效果(AS开发实战第二章学习笔记)
TextView的跑马灯效果跑马灯用到的属性与方法说明singleLine 指定文本是否单行显示ellipsize 指定文本超出范围后的省略方式focusable 指定是否获得焦点,跑马灯效果要求设置 ...
- 致 BitClub 矿池,你们为什么要对比特币网络发动交易延展性攻击?
原文:https://medium.com/@bithernet/bitclub-why-are-you-doing-malleability-attack-now-6faa194b2146#.v4y ...
- linux下网络编程学习——入门实例ZZ
http://www.cppblog.com/cuijixin/archive/2008/03/14/44480.html 是不是还对用c怎么实现网络编程感到神秘莫测阿,我们这里就要撕开它神秘的面纱, ...
- 三、docker学习笔记——安装postgresql
1.docker pull postgres 2.docker run --name postgres -e POSTGRES_PASSWORD=123456 -p 5432:5432 -d post ...
- 使用DIDatepicker
使用DIDatepicker https://github.com/noxt/DIDatepicker 效果: #import "DIViewController.h" #impo ...