我已经对一个版本的 MFC 基本代码进行了一些更改,但现在我想将其中的一部分(包括一些对话框)复制到另一个项目中。可以将对话框原样复制到新的 MFC 项目中。但我找不到任何与 cpp 上的对话框相关的文件,头文件也在那里。请让我知道有没有一种方法可以将对话框从一个 MFC 项目复制到另一个项目
谢谢
最佳答案
您可能正在寻找的是自动生成和处理的资源文件,如 resource.h、resource.rc 和 friend 。您可以在这里阅读更多关于它们的信息:How to: Copy Resources更多一般在这里 Resource Files (Visual Studio) .
虽然可以在 Visual Studios 的资源 View 中打开这些文件,但它们也可以作为文本打开和查看;即使在 Visual Studio 中,只要资源 View 当前未打开,但 VS 会告诉您是否是这种情况。
现在 MFC 对话框通过一个名为 IDD 的枚举来引用它们使用的对话框模板资源,该枚举在对话框的头文件 f.e. 中定义
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. .
关于c++ - 移动MFC项目对话框的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25748899/