我的过程如下:
创建一个基于对话框工程,并在工程创建一个窗口,基于它创建一个类。
创建另一个工程,把刚才的类文件拷到新工程中。
打开原来工程的rc文件,把那个窗口拖过来。编译,报错如下:
error C2065: 'IDD_DIALOG1' : undeclared identifier
IDD_DIALOG1 是原来窗口的id。我该怎么办。高手指点。谢谢!

解决方案 »

  1.   

    看看你的resource.h里有'IDD_DIALOG1'不,RebuildALL再不行的话就是你添加资源的问题了,打开RC文件(用文本打开)把那块对话框的复制到你的新RC文件就可以。
      

  2.   

    我比较了一下两个资源文件好象一样的。
    这是第一个工程的
    //{{NO_DEPENDENCIES}}
    // Microsoft Developer Studio generated include file.
    // Used by aa1.rc
    //
    #define IDM_ABOUTBOX                    0x0010
    #define IDD_ABOUTBOX                    100
    #define IDS_ABOUTBOX                    101
    #define IDD_AA1_DIALOG                  102
    #define IDR_MAINFRAME                   128
    #define IDD_DIALOG1                     129// Next default values for new objects
    // 
    #ifdef APSTUDIO_INVOKED
    #ifndef APSTUDIO_READONLY_SYMBOLS
    #define _APS_NEXT_RESOURCE_VALUE        130
    #define _APS_NEXT_COMMAND_VALUE         32771
    #define _APS_NEXT_CONTROL_VALUE         1000
    #define _APS_NEXT_SYMED_VALUE           101
    #endif
    #endif
    这是第二个工程的
    //{{NO_DEPENDENCIES}}
    // Microsoft Developer Studio generated include file.
    // Used by aa2.rc
    //
    #define IDM_ABOUTBOX                    0x0010
    #define IDD_ABOUTBOX                    100
    #define IDS_ABOUTBOX                    101
    #define IDD_AA2_DIALOG                  102
    #define IDR_MAINFRAME                   128
    #define IDD_DIALOG1                     129// Next default values for new objects
    // 
    #ifdef APSTUDIO_INVOKED
    #ifndef APSTUDIO_READONLY_SYMBOLS
    #define _APS_NEXT_RESOURCE_VALUE        132
    #define _APS_NEXT_COMMAND_VALUE         32771
    #define _APS_NEXT_CONTROL_VALUE         1000
    #define _APS_NEXT_SYMED_VALUE           101
    #endif
    #endif能不能再帮我看一下。
      

  3.   

    这样的话,那估计是没有包含resource.h,检查一下头文件吧
      

  4.   

    还是不对,在两个工程里都搜“resource.h”,两个工程都是找到两个。
      

  5.   

    IDD_DIALOG1改为你目前对话框的ID号就行了
    我以前也遇到过这样的情况