资源对话框的编写有时候较为麻烦,这里我成功实现了这个方法的可用性,具体如下:
碰到模块移植问题了,自己做的对话框类(继承于CDialog)要移植到目标工程中。在网上搜了几个帖子发现都说的很生涩。
问题:把一个MFC SDI工程中的一个对话框资源和类拷贝到另一个MFC SDI中.
1.在VC2012中打开老的工程,在工作区Resource标签页中选中Dialog文件夹下的资源文件(就是双击后会出现编辑窗口界面的那个东西),按Ctrl+C(Edit->Copy也一样).
2.关闭当前工程,注意不要关闭VC2012,打开目标工程(File->OpenWorkspace),然后选中工作区的Resource标签页中的Dialog文件夹,然后按Ctrl+V(Edit->Paste也一样).好了,对话框拷贝过来了.
3.将对话框类的cpp h文件拷贝到目标工程中(不详细说了,往当前工程添加文件)
4.打开复制过来的类cpp和h文件,删除没用的头文件(老工程相关的),并且在.h文件中添加文件包含
#include "Resource.h"
第四步很关键,老工程中根本就没有这个文件包含,可是移植之后必须手动添加头文件包含.
然后在新工程中就可以使用这个类了,主要就是这个类的对话框中的资源复制头一次遇到.不敢独享,拿出来跟新手们一起学习.
于是,当有已经创建好的对话框资源要添加到新工程中时,具体步骤如下:
(1)右键单击新工程所在的解决方案添加“现有项目”把旧工程添加进来;
(2)切换到“资源视图”并在旧工程对话框资源上右键“复制”;
(3)在新工程对话框资源上右键“粘贴”;
(4)现在就可以为新对话框添加类了,顺便把旧工程的响应函数拷贝过来;
(5)切换回“解决方案资源管理器”,右键旧工程“移除”。
VC++中复制对话框资源 之较好方法之一