MFC对话框复制

来源:互联网 发布:淘宝订单代付查看 编辑:程序博客网 时间:2024/05/17 23:37

在工程中导入已建好的对话框,方法有三:

法一:

1、首先要生成一个*.ogx的文件。

   方法:打开包含有所要加的对话框资源的工程(别的工程)。
         在试图资源(ClassView)中鼠标右键点击所需的对话框的类(也可以是所需的类)
         这时,你会看到右键菜单中有个“Add to Gallery”的选项。

         选择这个选项,则*.ogx文件生成。
         生成的文件名会类似你的对话框的类名,只不过中间会多出的空格(这无关紧要)
         
         关键是此文件生成在什么地方
         一般情况下是:
         C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Gallery
         \别的工程名  目录下

2010-8-5:今天在vc2003中想使用此方法,结果出现无法将文件.ogx插入到工具箱,没有被识别为com工具箱。而且在.net中也没有“Add to Gallery”选项,看来此方法只适用于vc6.0

2、接着就是Insert这个*.ogx的文件。
   也就是Insert这个对话框资源和这个对话框类

   打开所要加入的工程,选择
   Project->Add To Project->components and controls...
   这时打开的是一个对话框,默认的打开目录就是:
   C:\Program Files\Microsoft Visual Studio\Common\MSDev98\Gallery
   在对话框中选择进入“别的工程名”的目录,你就会看到那个  *.ogx的文件,
   选择它,然后Insert.  最后关闭对话框。

   这时你就会看到那个对话框的类已经出现在你的工程中,
   再到资源ResourceView中的Dialog中看看吧,那个对话框的资源已经出现。

法二:

在要导入对话框的工程中创建一个对话框,然后搜索对应的ID,将ID号对应位置处的内容改为要导入的对话框的内容(用文本方式打开rc文件),对应各个控件的对应消息号要一致(在Resource.h文件中),最后要将对话框类的cpp和h文件添加进来,要修改的只有#include "(动态库文件.h)"。

说明:

设计对话框界面是在rc文件中,rc文件可以以文本形式打开进行修改(即法二中用到的)。打开的方法是File-->Open,在Open对话框中Open as选择Text,然后选中rc文件打开即可。

或者使用法二中提到的搜索资源ID的方法,找到对应rc文件里的代码,双击即可进入。

2010-8-5:

法三:把你原来的工程插入到当前工程中(文件-》添加项目-》现有项目),然后拷贝原来的对话框,再到当前工程对话框组,粘贴!然后把对应的h和cpp文件复制过去即可。  

此方法太棒了!