预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共15页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

1、第一步创建一“MFCAppWizard(dll)”工程,接下来选择“RegularDllusingsharedMFCDLL”,点击“Finish”。2、添加一对话框资源到工程中,从菜单中选择Insert->Resource,添加一“Dialog”选择“New”,至此对话框已添加到DLL工程中。3、为对话框添加一新类,如:CTest,基类为CDialog。4、在MFCDLL.cpp中(因创建的工程为MFCDLL)添加接口函数:extern"C"__declspec(dllexport)voidShow(){AFX_MANAGE_STATE(AfxGetStaticModuleState());CTesttest;test.DoModal();}别忘了在文件中添加:#include"Test.h":),大功告成,编译吧!5、用VC新建一对话框工程,在一按钮点击事件中添加如下代码:typedefvoid(WINAPI*TESTDLL)();HINSTANCEhmod;hmod=::LoadLibrary("mfcdll.dll");if(hmod==NULL){AfxMessageBox("Fail");}TESTDLLlpproc;lpproc=(TESTDLL)GetProcAddress(hmod,"Show");if(lpproc!=(TESTDLL)NULL)(*lpproc)();FreeLibrary(hmod);6、试试看,是不是DLL中对话框显示出来了:) 网络方法2 下面通过例子介绍如何在动态链接库中定义函数、资源、和类以及如何在工程中使用动态链接库中已定义的函数、资源、类。一、函数的定义和使用方法:第一步:运行AppWizard,定义项目名为mydll,选择MFCAppWizard(dll),而不是MFCAppWizards(exe)。第二步:在这个例子中,只有一个AppWizard屏幕出现,选择MFC扩展DLL(MFCExtensionDLL(usingsharedMFCDLL),点击FINISH生成工程。第三步:点击File中的New,选择C/C++HeaderFile,FileName中输入dll,点击OK,创建dll.h。输入extern"C"__declspec(dllexport)intfun(intx1,intx2,intx3);,保存。第四步:点击File中的New,选择C++SourceFile,FileName中输入dll,点击OK,创建dll.cpp。输入#include"stdafx.h"#include"dll.h"extern"C"__declspec(dllexport)intfun(intx1,intx2,intx3){returnx1+x2+x3;}编译生成mydll.dll和mydll.lib。第五步:选择Project中AddToProject中的New,重新生成一个工程,选择MFCAppWizards(exe),项目名为mydlltest,选择SingleDocument,点击FINISH,生成一个新的工程。选择菜单中的ProjectàSetActiveProjectàmydlltest,将mydlltest设为当前活动工程。第六步:拷贝…\mydll\debug\mydll.dll到..\mydlltest\debug\下,拷贝…\mydll\debug\mydll.lib到…\mydlltest\目录下。第七步:在mydlltestView.cpp中的#endif下添加extern"C"__declspec(dllimport)intfun(intx1,intx2,intx3);在voidCMydlltestView::OnDraw(CDC*pDC)中添加代码如下:voidCMydlltestView::OnDraw(CDC*pDC){CMydlltestDoc*pDoc=GetDocument();ASSERT_VALID(pDoc);//TODO:adddrawcodefornativedatahereintx=fun(1,2,3);CStringstr;str.Format("%d",str);pDC->TextOut(10,10,x);}第八步:在WorkSpace中的mydlltestfiles上点击右键,选择AddfilestoProject,将mydll.dll添加到工程。好了,我们的工作做完了,运行一下看看吧!二、类的添加和使用步骤:在mydll中生成一个新类,类的声明处改为classAFX_EXT_CLASSCMyClass,在此类中和其他类一样添加自己需要的变量和函数,编译生成新的dll和lib,重复上面的第六步,在mydlltest中利用上面