VC版 MFC程序对话框资源移植

4 篇文章 0 订阅

方法一:

从一个MFC工程移植对话框类到另一个MFC工程步骤如下:

如:想要将B工程调试好的对话框移植到A工程中
1.在VC6中打开B工程,在工作区Resource标签页中选中Dialog文件夹下的资源文件,按Ctrl+C或点击Edit->Copy.

2.关闭当前工程,注意不要关闭VC6,打开B工程(File->OpenWorkspace),然后选中工作区的Resource标签页中的Dialog文件夹,然后按Ctrl+V或Edit->Paste,将对话框拷贝过来.

3.点击类向导,添加对话框类(注意:对话类名必须与在B工程的一致)

4.将各个控件的ID和成员变量名修改与在B工程中的一致(ID在复制过程中变了,变量名没有设置),。

5.退出VC,到资源管理器,打开工程文件夹,将B工程的对话框类的.cpp和.h文件复制到A工程文件夹,提示复盖,点是。

6.打开复制过来的类cpp和h文件,删除没用的头文件(老工程相关的),并且在.h文件中添加文件包含

#include "Resource.h"

注意:第4点和第6点很重要,要记得。

方法二:

在你的工程中添加另一个工程的rc文件,这时资源视图中就会出现两个rc,从后加的rc中拷贝资源到你自己工程的rc中就可以了。

方法三

在VC6环境下,选择Class视图,选中想要克隆的对话框所对应的类,例如CAboutDlg,点击鼠标右键,选择Add to gallery。在新工程中选择Project菜单,选择Add Component and ActivX,你会看到多了一个文件夹(与上一个工程同名),进入该文件夹,选择*.ogx。选择Insert,你会发现原来的对话框被加入到新的工程中了!

补充:
.net下更简单,将原来的工程加到新的工程中,直接将对话框拷贝过去就行了!
方法四
VC++中如何复制对话框资源

第一步:用记事本打开原工程的.rc文件,找到想复制的对话框的信息,如下所示

IDD_UGMS_DIALOGDIALOGEX 0, 0, 320, 230
STYLE WS_CHILD | WS_VISIBLE
EXSTYLE WS_EX_APPWINDOW
FONT 9, “宋体”
BEGIN
GROUPBOX “学生信息”,IDC_STATIC,10,8,290,200
GROUPBOX “”,IDC_STATIC,25,55,205,120
PUSHBUTTON “最前(&F)”,IDC_BUTTON_FIRST,30,30,35,15
PUSHBUTTON “向前(&B)”,IDC_BUTTON_PRE,82,30,35,15
PUSHBUTTON “向后(&N)”,IDC_BUTTON_NEXT,134,30,35,15
PUSHBUTTON “最后(&L)”,IDC_BUTTON_LAST,186,30,35,15
PUSHBUTTON “查询(&Q)”,IDC_BUTTON_QUERY,246,70,40,15
PUSHBUTTON “增加(&A)”,IDC_BUTTON_ADD,246,96,40,15
PUSHBUTTON “修改(&M)”,IDC_BUTTON_MODIFY,246,122,40,15
PUSHBUTTON “删除(&D)”,IDC_BUTTON_DELETE,246,148,40,15
PUSHBUTTON “确定(&O)”,IDC_BUTTON_OK,58,183,40,15
PUSHBUTTON “取消(&C)”,IDC_BUTTON_CANCEL,150,183,40,15
LTEXT “学号:”,IDC_STATIC,52,75,25,8
LTEXT “姓名:”,IDC_STATIC,52,100,25,8
LTEXT “性别:”,IDC_STATIC,52,125,25,8
LTEXT “入学时间:”,IDC_STATIC,44,151,41,8
EDITTEXT IDC_EDIT_SID,91,72,95,15,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SNAME,91,96,95,15,ES_AUTOHSCROLL
EDITTEXT IDC_EDIT_SSEX,91,120,95,15,ES_AUTOHSCROLL
CONTROL “DateTimePicker1”,IDC_DATETIMEPICKER_SCOMEDATE,
“SysDateTimePick32”,DTS_RIGHTALIGN | WS_TABSTOP,91,144,
95,15
GROUPBOX “”,IDC_STATIC,25,19,205,35
END

上面代码中绿色背景代表的是要复制的对话框资源的ID,此段代码也就是.rc文件中记录的此对话框的信息,黄色背景中间的代码就是

相应对话框中添加的控件信息,只需将相应代码拷到新工程的相应.rc文件相应的ID对话框资源的BEGIN 和END之间即可;

第二步:打开原工程的FileView视图下的Header Files 下的resource.h文件,将其中相应ID的信息复制到新工程的resource.h中即可;

例如:

//复制的资源ID

define IDC_BUTTON_FIRST 1000

define IDC_BUTTON_PRE 1001

define IDC_BUTTON_NEXT 1002

define IDC_BUTTON_LAST 1003

define IDC_BUTTON_QUERY 1004

define IDC_BUTTON_ADD 1005

define IDC_BUTTON_MODIFY 1006

define IDC_BUTTON_DELETE 1007

define IDC_BUTTON_OK 1008

define IDC_BUTTON_CANCEL 1009

define IDC_EDIT_SID 1010

define IDC_EDIT_SNAME 1011

define IDC_EDIT_SSEX 1012

define IDC_DATETIMEPICKER_SCOMEDATE 1013

第三步:记得不要遗漏啊,如有ID重复,可以更改一下即可!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值