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 并发(五)---AbstractQueuedSynchronizer
文章部分图片和代码来自参考文章. LockSupport 和 CLH 和 ConditionObject 阅读源码首先看一下注解 ,知道了大概的意思后,再进行分析.注释一开始就进行了概括.AQS的实现 ...
- [android] 网络链接类型和渠道
1.实现方式 1.1使用HttpUrlConnection 1.2使用HttpClient 1.3使用Socket,比如:豌豆荚,聊天工具 2.通讯渠道 2.1 WLAN(wi-fi),100米左右的 ...
- GuavaCache实现堆缓存
一.缓存 频繁地数据库I/O是很大的负担,而缓存是减少I/O提高性能的银弹. 缓存的实现一般上是以类似map的键值对的形式,并对外提供put和get方法,但缓存空间不能无限扩大,所以它得有一种缓存清除 ...
- Error:Execution failed for task ':app:processAnzhiDebugAndroidTestResources'. > No slave process to process jobs, aborting
环境 Android Studio 3.0 错误 Error:Execution failed for task ':app:processAnzhiDebugAndroidTestResources ...
- springboot伪静态
在日常网站访问中,会把动态地址改造成伪静态地址. 例如: 访问新闻栏目 /col/1/,这是原有地址,如果这样访问,不利于搜索引擎检索收录,同时安全性也不是很好. 改造之后: /col/1.html. ...
- System.arraycopy的测试
ArrayList的源码中数组的拷贝用到该方法: public static void arraycopy(Object src, --源数组 int srcPos, --源数组要复制的起始位置 Ob ...
- maven(04)--一个简单的项目
简单介绍 一个maven项目,使用hibernate框架,实现向mysql数据库中添加和获取操作,其他操作也是类似 如果你没有hibernate,那么也不要紧,这里主要介绍如何在一个maven项目中引 ...
- kotlin语法
https://try.kotlinlang.org/#/Examples/Hello,%20world!/Simplest%20version/Simplest%20version.kt /** * ...
- 软件项目技术点(7)——在canvas上绘制自定义图形
AxeSlide软件项目梳理 canvas绘图系列知识点整理 图形种类 目前我们软件可以绘制出来的形状有如下这几种,作为开发者我们一直想支持用户可以拖拽的类似word里面图形库,但目前还没有找到比 ...
- JQ中的FormData对象 ajax上传文件
HTML代码: <form enctype="multipart/form-data" method="POST" name="searchfo ...