我在一个版本的MFC基本代码中做了一些更改,但现在我想将一部分更改(包括一些对话框)复制到另一个项目。可以将对话框原样复制到新的MFC项目中。但我找不到任何与cpp和头文件上的对话框相关的文件。请告诉我有没有办法将对话框从一个MFC项目复制到另一个
由于
答案 0 :(得分:2)
您可能正在寻找的是自动生成和处理的资源文件,如resource.h,resource.rc和friends。您可以在此处详细了解这些内容:How to: Copy Resources以及更多信息Resource Files (Visual Studio)。
虽然可以在Visual Studios中打开这些文件'资源视图,它们也可以打开并作为文本查看;即使在Visual Studio中,只要资源视图当前没有打开,但VS会告诉您是否属于这种情况。
现在,MFC对话框通过名为IDD的枚举引用其使用的对话框模板资源,IDD在对话框的头文件中定义,例如。
class CTest : public CDialog { /*...*/ enum { IDD = IDD_TEST_DIALOG }; }
所以你可能要做的就是搜索指定的资源ID,在/ one .rc文件中查找并将所需的部分(标题+从BEGIN到END的所有内容)复制到新项目中。 作为第二步,您需要为该对话框中使用的所有资源ID定义唯一值(但不适用于像IDOK这样的常见资源ID)。这通常在resource.h中完成:
#define IDD_TEST_DIALOG 142
因此您必须将特定对话框中使用的所有定义复制到目标resource.h,并确保没有重复的数字。 请记住,可能存在多个包含资源的文件,有些可能是其他项目的一部分resource only dll's f.e.。