DLL制作.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实现MFC扩展DLL中导出类和对话框 中国学生网 2006-03-03 07:30:11 作者:江上飞鸟 来源:vckbase  如果要编写模块化的软件,就要对对动态链接库(DLL)有一定的了解,本人这段时间在修改以前的软件时,决定把重复用的类和对话框做到DLL中,下面就从一个简单的例子讲起,如何实现MFC扩展DLL中导出类和对话框。   一、创建MFC扩展DLL   步骤:   运行Visual Studio 6.0-File-New...-Projects;   选择Mfc AppWizard(dll),在右边Project name下输入ExportClass,单击“下一步”;   选择Mfc Extension DLL (using share MFC DLL) 单击“finish”;   以上完成建立扩展DLL的框架,下面接着建立输出类:   Insert- New Class...在打开的对话框中,Class Type 选择Generic Class,Class Name 中输入   CDogClass(当然你可以用其它的名称,我喜欢小狗,所有用它了,在Base Class下输入CObject,然后OK;   为类添加两个测试用的变量 int m_nNum;CString m_sData;完全的类信息如下:   DogClass.h头文件: class CDogClass : public CObject {  private :   int m_nNum;   CString m_sData;  public:   int ShowDlg();   void Init();   CDogClass();   virtual ~CDogClass();   void SetNum(int num) { m_nNum = num;};   int GetNum() { return m_nNum; };   void SetData(CString data) { m_sData = data;};   CString GetData() { return m_sData; }; }; DogClass.cpp实现文件: CDogClass::CDogClass() {  Init(); } CDogClass::~CDogClass() {} void CDogClass::Init() {  m_nNum = 0;  m_sData = ; }   编辑DogClass.h头文件修改下面一行;class AFX_EXT_CLASS CDogClass : public CObject   以上完成类的建立,下面建立输出对话框;Insert- Resouce...新建立一个对话框,添加两个编辑框IDC_EDIT1,IDC_EDIT2,然后建立CDlgDog对话框类并为两编辑框添加int m_nNum和CString m_sData的变量。   在DogClass.cpp的#include DogClass.h下加入#include DlgDog.h   在DogClass类中添加int ShowDlg();函数用来调用对话框,并在int CDogClass::ShowDlg()中添加如下代码: CDlgDog dlg; dlg.m_nNum = GetNum(); dlg.m_sData = GetData(); if (IDOK==dlg.DoModal()) {  SetNum(dlg.m_nNum);  SetData(dlg.m_sData);  return 1; } return 0;   然后编译Dll,会发现有几个错误,不用怕,好解决的,首先,去掉DlgDog.cpp中的 #include “\ add additional includes here”这一行;其次,在stdax.h中加入include resource.h,再编译,OK。   二、建立DLL 测试程序   步骤:   新建一个基于对话框的MFC应用程序,添加一按钮IDC_BUTTON1,并在按钮事件中添加如如下代码: void CTestExportClassDlg::OnButton1() {  CDogClass dog;  dog.Init();  if (dog.ShowDlg()!=0)  {   CString str;   str.Format(Num is: %d Data is: %s dog.GetNum(), dog.GetData());   AfxMessageBox(str);  } }   从ExportClass文件目录拷贝

文档评论(0)

df829393 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档