问题描述:需要把项目2中的几个界面(对话框)复制到项目1里面,由于MFC不能直接跨项目复制粘贴,所以需要通过另外的手段。
1首先rc文件就是你的资源文件,所有的对话框描述都在里面,以记事本的方式打开,找到Dialog部分,瞄一眼,你就会发现对话框原来是以这种记录方式存在,挺可以的,将你想要的对话框的代码描述复制到项目1的rc文件里面,ctrl+s保存。
2打开项目1,看下解决方案视图里面是否把对话框加载出来,如果没有说明资源ID号重复了,有冲突,所以加载不出来。以记事本方式打开Resource.h文件,找到冲突的id号,换一个整数值,确保id号不重复即可。
{ID号重复的处理方法:
ID号可能会有重复,需要手动重新设置新加入的控件ID号,设置完成注意修改resource.h文件底部#ifdef APSTUDIO_INVOKED 下面的几个数字,以便增加新控件时VS能够自动正确生成新ID号。
(1)、干脆直接将工程2中的resource.h文件复制过来替换工程1的同名文件。
(2)、写个批处理文本的程序重新生成id
python代码:
def print_hi(name):
f = open(r'E:\DeskTop\NewDiratory\resource.txt','r')
p = open(r'E:\DeskTop\NewDiratory\output.txt','w')
#p = open('./output.txt')
#line = f.readline()
i = 1
for line in f:
str1 = line.split(None, 1)[0]
str2 = line.split(None, 2)[1]
print(str1)
print(str2)
p.write("{}\n".format(str1 + " " + str2 + " " + str(i)))
i=i+1
print(f'Hi, {name}') # Press Ctrl+F8 to toggle the breakpoint.
f.close()
p.close()
if __name__ == '__main__':
print_hi('PyCharm')
}
3之后就是将工程2中的对话框类文件“对话框类名.h”和“对话框类名.cpp”复制到工程1中,并添加至解决方案管理器中即可。