MFC关于*.rc和resource.h文件的巧妙运用
MFC关于*.rc和resource.h文件的巧妙运用 (转)2010-12-07 11:14:20| 分类:c++ | 标签: |字号大中小 订阅 这是由几个人完成的一个软件系统。基于MO控件和MFC平台的网络优化软件系统。我写的是主菜单的Operation功能。 由于是一个平台几个人分块负责,又因为地理上的原因没能用VSS版本管理,而是分别在原型系统基础之上完成各自的功能模块,最后再去集成到一起。这就会出现很多问题: 1、如何把自己负责设计的Dialog资源及其相对应的类加入到别人的系统中? 2、MainFrm.cpp/MainFrm.h要做哪些相应修改? 这里首先把自己新加入的Dialog资源的名字找出来,我写的新模块名字如下: #define IDD_POLYGON_PROPERTY 400 好,这样我们清楚地知道我们添加的模块是那些,并且以此我们也可以轻松找到自己相对应这些Dialog模块创建的类(Cxx.cpp、Cxx.h),这是我们自己写的,应该很清楚吧。。。 为叙述方便,我们把自己工程乘作ME,把要集成的工程称作HE。 第一步: 嗯,那么找到后我们就先把这些源文件copy到要集成的HE工程目录下吧:),要记得打开工程后要把需要手动把copy的这些文件真正加入哦 第二步: 要仔细对比ME工程和HE工程下面的*.rc文件以及resource.h文件。这两个文件控制着所有资源文件,包括Dialog、Dialog上的控件(Button、Edit等等)、Menu、ToolBar、BitMap、Icon、String Table、Version、Accelerator等 =====>对比时leo推荐大家一款小工具哈,可以事半功倍呢,就是SVN ,大家可能只知道这是一款版本管理工具,但是安装后选中要比对的文本文件->右击->Diff,之后你就会发现它这个Nubility的功能啦 哈哈~ 第三步: 通过对比,大家很快就能找到自己ME工程的*.rc以及resource.h与HE工程不同,提取出来自己新建到部分,加入到HE工程对应的文件。当然在resource.h中,会发现#define XXXX 489 后面的数值有时会重复,这就需要我们手动修改,最好不要和HE工程中define的冲突。 注意:对于Menu修改的东西(如:新添加一级菜单),都可以在*.rc中找到的;对与新加一个Dialog资源,会在*.rc中添加两样东西,比如新加Dialog1(Chinese (P.R.C.) resources类型),则*.rc和resource.h改变如下: 注意:Dialog有很多种类型,增加的同种类型被VS自动写到一起,比如(Chinese (P.R.C.) resources)类型的Dialog在一起,(English&American resource)的Dialog会放在一起~;对应resource.h中的控件资源,是可以重复利用的,比如 #define IDC_RADIO1 1001定义后可以在不同的Dialog中使用,并且,ID都是IDC_RADIO1。知识这样做的缺点也是有的,即你修改一个会影响多个,牵一发而动全身~ *.rc文件中: IDD_DIALOG1 DIALOGEX 0, 0, 383, 180 。。。 。。。 。。。 / #ifdef APSTUDIO_INVOKED #endif // Chinese (P.R.C.) resources resource.h中变化: #define IDD_DIALOG1 130 。。 。。 #define IDC_RADIO1 1001 好了,最后大家Build一下,若有什么错误,再去看看是不是忘记ME工程中某个define或者*.rc中某个菜单或者对话框没有copy到HE工程中,或者copy的位置是不是乱了。。 方法很明确,大家可以记事本打开*.rc看看其中的机构是怎么样的哈 这样我们以后再要集成MFC工程到其他工程时,除了源文件我们可以copy,自己辛苦布局设置的Dialog可以保留,很不错吧~ 最近有发现一种更快捷的方法: 直接打开两个工程,把相关的rc打开copy到另一个工程的rc中即可,但童鞋们不要忘记把相应的.h/.cpp Add到对应工程哦,呵呵 竟然忘记VS是可以同时打开多个工程了,晕晕~ 另外有人问我能不能把已生成的工程名字修改了,。。。嗯当然可以的哦,我们只需要对如下文件进行操作即可: GUI.vcproj.ACCESSCONSYS.zlh.user GUI.sln GUI.vcproj.55B45E7107F1495.Administrator.user GUI.vcproj 比如要把GUI->BUPT_GUI,那好,我们把他们用记事本打开,把对应的GUI修改成BUPT_GUI即可,当然以上文件名最后也改成BUPT_GUI.*** 本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zhangleo1987/archive/2010/11/10/6000089.aspx |
MFC关于*.rc和resource.h文件的巧妙运用相关推荐
- resource.h文件和项目的.rc资源的关系
resource.h文件和项目的.rc资源的关系 resource.h就是.rc文件的头文件 .rc文件里的常量全在resource.h定义 一般情况下不用你去写和修改 vc会帮你写和改 但是如果你想 ...
- MFC中的Resource.h文件理解
resource.h源文件的理解 新建一个基于对话框的resource.h文件 //{{NO_DEPENDENCIES}} // Microsoft Visual C++ 生成的包含文件. // 由 ...
- VC 资源文件 Resource.h *.rc *.rc2
http://www.yesky.com/club/topic/5000/851482.html resource.h是用来定义资源ID的地方. *.rc,资源文件. *.rc2 你可以把VC平台不支 ...
- rf中resourceid_解决VC++ MFC程序resource.h头文件中ID重复问题
解决VC++ MFC程序resource.h头文件中ID重复问题 2018-12-07 一般MFC开发的时候,如果有些资源是从其他工程中移植到本工程的, 而在资源移植的时候都要将对应的资源ID复制到本 ...
- VS2005、VS2010等VS系列IDE在MFC开发过程中,Resource View标签打不开,问题为“opened in other editor”
问题描述: VS2005.VS2010等VS系列IDE在MFC开发过程中,Resource View标签打不开,问题为"opened in other editor" 可能原因: ...
- c语言resource files的作用,c – resource.h中的宏用于什么?
在visual studio中创建资源文件时,IDE会自动生成一个名为resource.h的头文件,其中包含以下文本: //{{NO_DEPENDENCIES}} // Microsoft Visua ...
- resource.h
resource.h就是.rc文件的头文件 .rc文件里的常量全在resource.h定义 .rc文件和resource.h 都是给project add resource 的时候VS 自动生成的. ...
- MFC通过URL下载并保存文件代码 转载
http://blog.csdn.net/charlessimonyi/article/details/8666108?utm_source=tuicool&utm_medium=referr ...
- windows学习记录之MFC通过URL上传下载文件
** HTTP四种常见的POST提交数据方式: ** HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS.GET.HEAD.POST.PUT.DELETE.TRACE.CONNECT ...
最新文章
- 设置应用图标badge(徽章)
- 提前了解客户背景很有必要
- nagios报警的问题
- mac 搭建php wamp,Linux,Windows,Mac平台php环境配置
- 免费直播 | 特邀大厂产品战略咨询顾问,详解数据驱动产品商业化
- oracle安装出现getproces,oracle安装问题
- String与Date、Timestamp互转
- Ubuntu16.04安装Caffe(CPU Only)
- elasticearch 安装
- EasyDarwin开源流媒体云平台支持EasyCamera摄像机、EasyCamera手机直播监控、EasyNVR等多终端接入
- Java日志体系---JUL源码解析
- py知识(每日更新) 7.19
- 一个emoji表情包处理工具类
- [教程]教你如何制作彩色的3D打印Groot
- jQuery中index的用法
- 千峰教育——网络管理
- 5G NR - CSI-RS学习笔记4 - 物理层资源映射
- cv岗工作做什么_2019 秋招 cv 岗求职心得
- Java语言的优雅停机 - 第308篇
- 信安软考 第八章 防火墙技术与原理运用
热门文章
- 图像处理、显示中的行宽(linesize)、步长(stride)、间距(pitch)
- 关于猎聘网投递简历后的“已储备”状态
- python发微信提醒天气冷了注意保暖_天气变冷了,用Python给父母制作一个天气提醒小助手~...
- python求解迷宫问题,配js实现的走迷宫动画,动起来才有意思~
- oracle 分组 最新,Oracle分组查询
- python量化交易--因子选股策略
- ASR项目实战-决策点
- debian linux系统安装教程,Debian 10(Buster)安装过程图文详解
- 计算机地图制图原理与算法,计算机地图制图原理与算法基础.ppt
- 火柴人小程序linux,推荐这3款射击类的火柴人小程序,一起冲冲冲吧!