我把dialog资源,和代码.h,.cpp,文件都从其他地方直接拷贝过来,结果编译的时候不认识dialog的ID号,我明明在资源里已经看到这个ID了,为什么?delphi直接拷贝资源文件和代码文件就可以的

解决方案 »

  1.   

    要在Resource.h中定义一下
    如#define ID_DLG   100
    后面的数随便取,不要和其他的宏定义相同就行
      

  2.   

    你的resource.h文件考了么? 还有rc文件
      

  3.   

    在新项目中,再打开一个项目(包含你要Copy的资源文件的项目),然后用鼠标拖过去就行了。
      

  4.   

    你好!
    要在Resource.h中定义一下
    如#define ID_DLG   100
    后面的数随便取,不要和其他的宏定义相同就行
    你的resource.h文件考了么? 还有rc文件
    res目录也考
    我照着上面说的,全做了,但编译后,单文档还是新建时的菜单栏,而查看资源中的IDR_MAINFRAME
    已经变成了要拷贝的菜单栏!
    为什么执行时不显示后面说的那个的菜单栏!
      

  5.   

    这个方法同样也是完整添加其他工程中的类的方法。
    (他会把你所需要的类的*.h和*.cpp文件同时插入进来,即便没有Dialog资源)-------------------------------------------------------------------------
    步骤:
    1、首先要生成一个*.ogx的文件。   方法:打开包含有所要加的对话框资源的工程(别的工程)。
             在试图资源(ClassView)中鼠标右键点击所需的对话框的类(也可以是所需的类)
             这时,你会看到右键菜单中有个“Add to Gallery”的选项。         选择这个选项,则*.ogx文件生成。
             生成的文件名会类似你的对话框的类名,只不过中间会多出的空格(这无关紧要)
             
             关键是此文件生成在什么地方!
             一般情况下是:
             C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Gallery
             \别的工程名  目录下2、接着就是Insert这个*.ogx的文件。
       也就是Insert这个对话框资源和这个对话框类   打开所要加入的工程,选择
       Project->Add To Project->components and controls...
       这时打开的是一个对话框,默认的打开目录就是:
       C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Gallery
       在对话框中选择进入“别的工程名”的目录,你就会看到那个  *.ogx的文件,
       选择它,然后Insert.  最后关闭对话框。   这时你就会看到那个对话框的类已经出现在你的工程中,
       再到资源ResourceView中的Dialog中看看吧,那个对话框的资源已经出现。   到这个时候,你所需要改动的就不是很多了。   
    ----------------------------------------------------还可以参看:
    http://www.csdn.net/develop/read_article.asp?id=17933http://expert.csdn.net/Expert/topic/1650/1650618.xml?temp=.2568323
      

  6.   

    把资源做成OGX控件,添加到注册表中。然后通过工程的插入,把那个OGX控件加进来就可以了。