MFC Regular DLL封装窗体详细步骤

 

vc6.0 环境下,将MFC Regular DLL封装窗体在里面。

1. File->Projects->MFC AppWizard(dll)->输入RegularDLL;
2. 选择Regular DLL using shared MFC DLL 和 Yes,please
3. 选择ResourceView视图,再RegularDLL resource目录上右键单击->Insert-> Dialog->New
4. 新窗体删除OK和Cancel,新建一个按钮,窗体的ID改为:IDD_DLL_DIALOG,按钮的ID改为:IDC_HELLO_BUTTON
5. 双击新建的按钮->ok创建新类->类名起名为CDllDialog->双击按钮,输入:
   MessageBox("此处调用数据库封装","陈梵封装");
6.最最重要的一步×××××××××××××××××××××××
  project->Settings 在General选项中选择Use MFC in a Static Library
  
7.File->New->C++ Source File->global.cpp,内容如下:
   #include "StdAfx.h"
   #include "DllDialog.h"

   extern "C" __declspec(dllexport) void ShowDlg(void)
   {
  CDllDialog dllDialog;
  dllDialog.DoModal();
   }
8.在StdAfx.h文件中添加#include "resource.h"
9. 打开Resource.h, 内容如下:
//{{NO_DEPENDENCIES}}
// Microsoft Developer Studio generated include file.
// Used by RegularDll.rc
//
#define IDD_DLL_DIALOG                  1000
#define IDC_HELLO_BUTTON                1000

// Next default values for new objects
//
//#ifdef APSTUDIO_INVOKED
//#ifndef APSTUDIO_READONLY_SYMBOLS
//#define _APS_NEXT_RESOURCE_VALUE        1001
//#define _APS_NEXT_COMMAND_VALUE         32771
//#define _APS_NEXT_CONTROL_VALUE         1001
//#define _APS_NEXT_SYMED_VALUE           1000
//#endif
//#endif

接下来建立一个调用DLL的工程,按钮中加入以下代码就可以调用了。
void CMFCRegularCallDlg::OnButton1()
{
 typedef void (*lpFun)(void);
 
 HINSTANCE hDll;   //DLL句柄 
 hDll = LoadLibrary("D:\\CPPPrimerStudy\\DLLStudy\\RegularDLL\\Debug\\RegularDll.dll");
 if (NULL==hDll)
 {
  MessageBox("RegularDll.dll未找到");
 }

 lpFun addFun;  //函数指针
    lpFun pShowDlg = (lpFun)GetProcAddress(hDll,"ShowDlg");
 if (NULL==pShowDlg)
 {
  MessageBox("ShowDlg函数没有在DLL中发现"); 
 }
    pShowDlg(); 
    FreeLibrary(hDll);
}

转载:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值