新建一个DLG资源,把B中对话框资源上的所有控件选中COPY->A中Paste,OK!
不算麻烦。

解决方案 »

  1.   

    把B工程Insert到A workspace,然后在资源中拷贝对话框资源,最后Remove B project就可以了
      

  2.   

    如果B中Dialog不与A中的某个Dialog重名的话,可以直接copy过来使用,具体步骤如下:
       首先打开工程A,将workspace框置于资源列表的状态下,然后使用菜单中的open命令打开B工程目录中的 B.rc文件,此时在右边窗口中会列出B中的所有资源,选中你所需要的对话框,ctl+c复制後,将鼠标点到左边A工程资源中的Dialog一项,在上面ctl+v粘贴,此时你会发现B中的这个对话框已经移植到A工程中.至此资源已经移植完毕,如果需要重新创建类并编写代码可以按照正常步骤进行,如果B中的这个类可以直接移入A使用,便可以将此类相应的.cpp文件和.h文件从B工程的目录中拷贝到A工程的目录下,然后再使用Add to Project命令将这两个文件加入到A工程,至此便完成了此类从B工程到A工程的移植.
        当然,彻底移植该类还要做一些其他的修改,如:包含的头文件等,因为两个工程所需的头文件通常是不会相同的.另外一个需要注意的地方,像这种在工程中移植类的方法可能会造成工程的类向导文件有些问题,你在workspace中可能看不到你移植过来的这个类,解决方式是在A工程的目录中将以下几个文件删除:B.clw, B.ncb, B.opt,删除後打开该工程,使用ctl+w重建类向导文件,重建完毕后会一切正常.
      

  3.   

    TO AutopVision(阳光):对话框的代码怎么办?
    TO nktylm() :我就是这么做的,不行!
      

  4.   

    To wbamboo(波波):
        你所说的不行会出现什么状况?这种方法我已经在做工程时使用过N次了,你是不是在那个步骤做的还有问题,如:将.cpp和.h文件添加到工程中后需要进行一定的修改,否则编译肯定会有错误的;另外,如果你只是需要资源而不需要代码的话,在拷贝过来的资源上重建类即可.如果还有什么问题的话,请详细说明错误?我可以帮助你分析一下!
      

  5.   

    在resources中修改一下,很简单。我真的想不出有什么更好的办法来解决。如果有,请说。
      

  6.   

    在用到B对话框ID的文件,包含B的resource.h文件,如
    include "d:\B\resource.h"//B的resource.h文件