引用另一程序中的Dialog同现有程序中的资源ID冲突?

wbamboo 2002-03-28 05:35:17
正做程序A,需引用程序B中的Dialog,但资源ID冲突,又不想到Resource.h中去慢慢改,该如何解决?或有什么好方法能正常引用程序B中的Dialog?
...全文
45 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
huashanyjj 2002-03-29
  • 打赏
  • 举报
回复
在用到B对话框ID的文件,包含B的resource.h文件,如
include "d:\B\resource.h"//B的resource.h文件
eastrock 2002-03-29
  • 打赏
  • 举报
回复
在resources中修改一下,很简单。我真的想不出有什么更好的办法来解决。如果有,请说。
nktylm 2002-03-29
  • 打赏
  • 举报
回复
To wbamboo(波波):
你所说的不行会出现什么状况?这种方法我已经在做工程时使用过N次了,你是不是在那个步骤做的还有问题,如:将.cpp和.h文件添加到工程中后需要进行一定的修改,否则编译肯定会有错误的;另外,如果你只是需要资源而不需要代码的话,在拷贝过来的资源上重建类即可.如果还有什么问题的话,请详细说明错误?我可以帮助你分析一下!
wbamboo 2002-03-29
  • 打赏
  • 举报
回复
TO AutopVision(阳光):对话框的代码怎么办?
TO nktylm() :我就是这么做的,不行!
nktylm 2002-03-28
  • 打赏
  • 举报
回复
如果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重建类向导文件,重建完毕后会一切正常.
kingzai 2002-03-28
  • 打赏
  • 举报
回复
把B工程Insert到A workspace,然后在资源中拷贝对话框资源,最后Remove B project就可以了
feelinn 2002-03-28
  • 打赏
  • 举报
回复
如果冲突的话只有该,没有别的捷径。(如果控件也冲突)
AutopVision 2002-03-28
  • 打赏
  • 举报
回复
新建一个DLG资源,把B中对话框资源上的所有控件选中COPY->A中Paste,OK!
不算麻烦。

2,586

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 资源
社区管理员
  • 资源
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧