如何移植对话框等资源???
在一个vc工程中已经有一些好的对话框(含各种控件等)资源,
我想在其他vc工程中重复使用这些对话框,以免重新布局等等
如何实现????
问题点数:50、回复次数:9Top
1 楼lixiaosan(小三)回复于 2004-04-29 12:03:42 得分 0
加入你有CTest1Dlg CTest2Dlg 两个工程
你要把CTest1Dlg对话框资源导入到CTest2Dlg中
1. 复制一个 test1工程 比如说就是 复件Test2
2.在test2工程的project\add to project\files 中选择复件Test2中的test2.rc文件,就ok了Top
2 楼lixiaosan(小三)回复于 2004-04-29 12:05:07 得分 10
有点错。
加入你有CTest1Dlg CTest2Dlg 两个工程
你要把CTest1Dlg对话框资源导入到CTest2Dlg中
1. 复制一个 test1工程 比如说就是 复件Test1
2.在test2工程的project\add to project\files 中选择复件Test1中的test1.rc文件,就ok了Top
3 楼justyk(才疏志大)回复于 2004-04-29 14:13:24 得分 0
谢谢!
不过这样就把所有资源都复制过来了,
假如我只要其中一个对话框,怎样做呢???Top
4 楼ohbaby(混混日子骗骗钱)回复于 2004-04-29 14:22:49 得分 20
是用MFC编程吧?
简单的很
不过,你要给对话框建立了类才可以。
在workspace的classview中选择该类,然后右键,选择“Add to Gallery”
然后打开新的工程,在菜单“Project”->“Add to Project”->“Components and Contrals Gallery”里找到导入就ok了
不过,提醒你一点,假如资源很多很容易出现资源冲突
good luckTop
5 楼lixiaosan(小三)回复于 2004-04-29 15:14:26 得分 0
把你需要的对话框copy到test2中,然后把test1的资源删除就ok 了嘛Top
6 楼lixiaosan(小三)回复于 2004-04-29 15:15:40 得分 0
这样会改变test1工程的资源,这就是为什么要你复制一个test1工程来添加的原因,这样可以避免test1被破坏Top
7 楼9712210(9712210)回复于 2004-04-29 17:31:04 得分 0
再vc中打开资源文件*.rc,从右边拖到左边资源树上,注意按住Ctrl不然原资源里就被改了Top
8 楼9712210(9712210)回复于 2004-04-29 17:31:55 得分 0
用file-Open项打开Top
9 楼PiggyXP(【小猪】技术太差没脸上班,只好去念Ph.D了-_-b)回复于 2004-04-29 17:41:00 得分 20
这个方法同样也是完整添加其他工程中的类的方法。
(他会把你所需要的类的*.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中看看吧,那个对话框的资源已经出现。
到这个时候,你所需要改动的就不是很多了。
Top





