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源码的颜 ...
随机推荐
- Cheatsheet: 2017 02.01 ~ 02.28
Web Debouncing and Throttling Explained Through Examples What is TypeScript? An Absolute Beginner's ...
- 三:Mybatis知识整理(3)
一:mybatis中模糊查询的方法: 1.直接传参法:在java传参时进行拼接 -- %keyword% 2.mysql内置函数:concart('%',#{keyword},'%') -- 拼接sq ...
- mybatis笔记<二> 整合spring
mybatis与spring整合需要添加几个jar包,mybatis-spring, spring-context, spring-jdbc 1. spring ioc只要一个jar包就ok 2. 我 ...
- webpack build后生成的app、vendor、manifest三者有何职能不同?
贴一下之前vue脚手架的webpack3配置: app.js是入口js,vendor则是通过提取公共模块插件来提取的代码块(webpack本身带的模块化代码部分),而manifest则是在vendor ...
- html中块级元素和行内元素
块级元素和行内元素的三个区别 1.行内元素与块级元素直观上的区别: 行内元素会在一条直线上排列,都是同一行,水平方向排列 块级元素独占一行,垂直方向排列.块级元素从新行开始结束接着一个断行 2.块级元 ...
- JS小案例(基础好烦恼少)----持续更新
*************************************************** <!DOCTYPE html> <html lang="en&quo ...
- 项目经验:GIS<MapWinGIS>建模第七天
终天完成了管网地图的附加功能..实现了了管网与地图结合
- Redhat Linux 7.3 虚拟机通过USB挂载NTFS格式的移动硬盘
分为如下几个步骤: 一.设置本地yum,安装gcc(如果本机已经安装gcc,则跳过此步) 在虚拟机连接linux iso安装盘 查看光盘挂载情况 mkdir /iso mount /dev/cdrom ...
- MapReduce优化参数
资源相关参数 //以下参数是在用户自己的 MapReduce 应用程序中配置就可以生效 (1) mapreduce.map.memory.mb: 一个 Map Task 可使用的内存上限(单位:MB) ...
- java、C语言实现数组模拟栈
java: public class ArrayStack { private int[] data; private int top; private int size; public ArrayS ...