文档详情

将个工程的对话框及程序移动至另程序.doc

发布:2017-03-26约小于1千字共7页下载文档
文本预览下载声明
将一个工程的对话框及程序移动至另一MFC程序 在程序移植的过程中,难免会遇到一个写好的MFC对话框程序要移植到大的平台上去,为了不用再次绘制窗体和控件,可以将待移植的程序的对话框等通过修改代码移动到另一程序中。 以下的例子,待移植的程序工程名为:MultiThreadExampleDlg,里面有Dialog对话框、4个Button和一个Edit控件。 目标工程为:SDIExample,为一个空的单文档程序。 现在要开始移植了,需要准备的文件为Resource.h和*.rc文件 1、 对于SDIExample,先绘制出需要弹出对话框的菜单项,Caption为“弹出”,ID为ID_DLG。 2、 在SDIExample中新建一个Dialog,名字和控件随便。 3、 关闭SDIExample工程,随便用一个编辑器打开SDIExample下的resource.h、SDIExample.rc文件和MultiThreadExampleDlg工程下的resource.h、MultiThreadExampleDlg.rc文件。 4、 在打开*.rc文件中分别找到对应于Dialog ID的部分,在BEGIN和END之间的就是控件的定义和属性了。 5、 把待移植的工程中BEGIN和END之间的内容以及ID号、类型、尺寸复制到目标工程中, 6、 保存,关闭。再分别打开两个工程的resource.h文件,把涉及到的控件ID的定义拷贝过去。 7、 如果控件有设置初始值,如COMBO BOX的DATA,那么把resource.h文件的最末尾部分拷贝过去。保存,关闭,打开SDIExample工程。打开资源视图,看到Dialog就可以了。 8、 移植代码,在拷贝代码的时候可以把一开始那个工程的源文件和头文件全部拷贝或者包含,但是需要注意以下几个地方: ? 原来工程的*Dlg.cpp文件中包含了CAboutDlg类,这个类在后来的工程中也有,需要把声明和定义部分删除。 ? 原来工程的C*App类需要删除,因为程序启动是从CWinApp类开始启动,在移植的工程中需要把之前工程的这个类删除。在这个类中写的函数需要重新写到目标工程的C*App类中。
显示全部
相似文档